// Copyright 2021 Dolthub, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package queries

import (
	"github.com/dolthub/go-mysql-server/sql"
	"github.com/dolthub/go-mysql-server/sql/plan"
	"github.com/dolthub/go-mysql-server/sql/types"
)

var ComplexIndexQueries = []QueryTest{
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<25) OR (v1>24));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE v1>97 or v2 is NULL;`,
		Expected: []sql.Row{{98, 98, 0}, {99, 98, 51}, {100, 98, 61}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>=99 AND v2<>83) OR (v1>=1));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=38 AND v2<41) OR (v1>60)) OR (v1<22));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{33, 34, 22}, sql.Row{83, 80, 61}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{36, 38, 20}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>92 AND v2>25) OR (v1 BETWEEN 6 AND 24 AND v2=80));`,
		Expected: []sql.Row{sql.Row{100, 98, 61}, sql.Row{99, 98, 51}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=29) OR (v1=49 AND v2<48));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{15, 14, 57}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{24, 24, 60}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{28, 27, 24}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{18, 16, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>75) OR (v1<=11));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=86) OR (v1<>9)) AND (v1=87 AND v2<=45);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=5) OR (v1=71)) OR (v1<>96));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=97) OR (v1 BETWEEN 36 AND 98));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1=86 AND v2>41) OR (v1<>6 AND v2>16));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{64, 59, 29}, sql.Row{96, 93, 21}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<>22 AND v2>18) OR (v1<>12)) OR (v1<=34));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<11) OR (v1>=66 AND v2=22));`,
		Expected: []sql.Row{sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{1, 0, 52}, sql.Row{8, 6, 51}, sql.Row{6, 5, 60}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>45 AND v2>37) OR (v1<98 AND v2<=35));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>=16 AND v2>96) OR (v1<80));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=98) OR (v1<85 AND v2>60)) OR (v1<>53 AND v2 BETWEEN 82 AND 89));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((((v1<71 AND v2<7) OR (v1<=21 AND v2<=48)) OR (v1=44 AND v2 BETWEEN 21 AND 83)) OR (v1<=72 AND v2<>27)) OR (v1=35 AND v2 BETWEEN 78 AND 89));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=16) OR (v1>=77 AND v2>77)) OR (v1>19 AND v2>27));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{64, 59, 29}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>=46) AND (v1>=28 AND v2<>68) OR (v1>=33 AND v2<>39));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<39 AND v2<10) OR (v1>64 AND v2<=15)) AND (v1>=41);`,
		Expected: []sql.Row{sql.Row{85, 81, 4}, sql.Row{89, 84, 9}, sql.Row{80, 78, 0}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=91) OR (v1<70 AND v2>=23)) OR (v1>23 AND v2<38));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((v1<>45 AND v2=70) OR (v1 BETWEEN 40 AND 96 AND v2 BETWEEN 48 AND 96)) OR (v1<>87 AND v2<31)) OR (v1<>62 AND v2=51)) AND (v1>=47 AND v2<29);`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{85, 81, 4}, sql.Row{62, 58, 12}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{68, 61, 3}, sql.Row{52, 48, 22}, sql.Row{53, 49, 0}, sql.Row{95, 93, 19}, sql.Row{89, 84, 9}, sql.Row{51, 47, 5}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{70, 63, 19}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<71) OR (v1 BETWEEN 46 AND 79));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>52) OR (v1<=14));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>74) OR (v1<>40 AND v2>=54));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=69 AND v2<24) OR (v1<77 AND v2<=53));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{0, 0, 48}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{77, 72, 52}, sql.Row{33, 34, 22}, sql.Row{63, 58, 32}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{28, 27, 24}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{18, 16, 53}, sql.Row{36, 38, 20}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1=78 AND v2=87) OR (v1 BETWEEN 37 AND 58 AND v2>=30)) AND (v1=86 AND v2 BETWEEN 0 AND 70);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>94) OR (v1<=52));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<>23 AND v2>64) OR (v1>73 AND v2<=66)) OR (v1 BETWEEN 39 AND 69 AND v2>84));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{92, 86, 88}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{79, 76, 39}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{10, 6, 73}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{67, 60, 66}, sql.Row{89, 84, 9}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{23, 19, 97}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{22, 19, 75}, sql.Row{71, 63, 69}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>54 AND v2<16) OR (v1<74 AND v2>29)) AND (v1 BETWEEN 34 AND 48);`,
		Expected: []sql.Row{sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{47, 45, 31}, sql.Row{45, 44, 67}, sql.Row{43, 43, 63}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{44, 44, 48}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>44 AND v2>12) OR (v1<=5 AND v2>27));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{52, 48, 22}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{64, 59, 29}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{25, 25, 14}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=54 AND v2<>13) OR (v1>84));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>1 AND v2<>51) OR (v1=28));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1>35) OR (v1 BETWEEN 11 AND 21)) OR (v1<>98));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1=16 AND v2=57) OR (v1<46 AND v2 BETWEEN 78 AND 89));`,
		Expected: []sql.Row{sql.Row{49, 45, 86}, sql.Row{30, 28, 83}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<53 AND v2<10) AND (v1<>37) OR (v1>23));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((((v1<>30) OR (v1>=6 AND v2 BETWEEN 62 AND 65)) OR (v1<>89)) OR (v1<=40 AND v2>=73)) OR (v1<99));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 34 AND 34 AND v2 BETWEEN 0 AND 91) OR (v1 BETWEEN 54 AND 77 AND v2>92));`,
		Expected: []sql.Row{sql.Row{73, 65, 97}, sql.Row{33, 34, 22}, sql.Row{74, 67, 95}, sql.Row{34, 34, 91}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((((v1<=55) OR (v1>=46 AND v2<=26)) OR (v1 BETWEEN 8 AND 54)) OR (v1>26 AND v2 BETWEEN 62 AND 89)) OR (v1<31 AND v2=11)) OR (v1>9 AND v2=60));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{78, 74, 81}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 17 AND 54 AND v2>=37) AND (v1<42 AND v2=96) OR (v1<>50));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>39 AND v2>66) OR (v1=99));`,
		Expected: []sql.Row{sql.Row{72, 65, 80}, sql.Row{49, 45, 86}, sql.Row{92, 86, 88}, sql.Row{45, 44, 67}, sql.Row{73, 65, 97}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{84, 80, 88}, sql.Row{71, 63, 69}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 24 AND 66) OR (v1<=81 AND v2<>29));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<>18 AND v2<>8) OR (v1>=10 AND v2>3)) OR (v1=53));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>=42 AND v2>34) OR (v1<=40 AND v2<=49));`,
		Expected: []sql.Row{sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{2, 2, 4}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{33, 34, 22}, sql.Row{83, 80, 61}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{48, 45, 63}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{71, 63, 69}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 8 AND 38) OR (v1>=23 AND v2 BETWEEN 36 AND 49));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{50, 46, 46}, sql.Row{15, 14, 57}, sql.Row{16, 14, 98}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{57, 54, 38}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{65, 59, 45}, sql.Row{13, 13, 44}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>57 AND v2 BETWEEN 2 AND 93) OR (v1=52));`,
		Expected: []sql.Row{sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{30, 28, 83}, sql.Row{69, 61, 34}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((v1<24) OR (v1<41)) OR (v1<12 AND v2=2)) OR (v1=3 AND v2<>66));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{15, 14, 57}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=52 AND v2<40) AND (v1<30) OR (v1<=75 AND v2 BETWEEN 54 AND 54)) OR (v1<>31 AND v2<>56));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>52 AND v2<90) OR (v1 BETWEEN 27 AND 77 AND v2 BETWEEN 49 AND 83));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{78, 74, 81}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>2) OR (v1<72 AND v2>=21)) AND (v1=69 AND v2 BETWEEN 44 AND 48);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((v1>77) OR (v1=57)) OR (v1>9 AND v2>80)) OR (v1=22));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{92, 86, 88}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{93, 87, 51}, sql.Row{30, 28, 83}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{89, 84, 9}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{23, 19, 97}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{60, 57, 29}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((v1>28) OR (v1<=30 AND v2=30)) OR (v1<29)) OR (v1 BETWEEN 54 AND 74));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>30 AND v2 BETWEEN 20 AND 41) OR (v1>=69 AND v2=51));`,
		Expected: []sql.Row{sql.Row{5, 5, 36}, sql.Row{47, 45, 31}, sql.Row{87, 83, 30}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{52, 48, 22}, sql.Row{69, 61, 34}, sql.Row{82, 79, 36}, sql.Row{20, 18, 31}, sql.Row{56, 51, 35}, sql.Row{33, 34, 22}, sql.Row{63, 58, 32}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{28, 27, 24}, sql.Row{64, 59, 29}, sql.Row{96, 93, 21}, sql.Row{32, 33, 39}, sql.Row{99, 98, 51}, sql.Row{60, 57, 29}, sql.Row{36, 38, 20}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>39) OR (v1=55)) AND (v1=67);`,
		Expected: []sql.Row{sql.Row{74, 67, 95}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<20 AND v2<=46) OR (v1<>4 AND v2=26)) OR (v1>36 AND v2<>13));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{17, 16, 19}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=5 AND v2>66) OR (v1<=0)) OR (v1 BETWEEN 10 AND 87));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((((v1<>99 AND v2 BETWEEN 12 AND 31) OR (v1<56 AND v2<>69)) OR (v1>=37 AND v2<47)) OR (v1<=98 AND v2=50)) AND (v1 BETWEEN 15 AND 47) OR (v1>55 AND v2>85)) OR (v1>86));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{30, 28, 83}, sql.Row{73, 65, 97}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{81, 78, 90}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<37) OR (v1<=48 AND v2<=54)) OR (v1=88));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{28, 27, 24}, sql.Row{51, 47, 5}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<>31) OR (v1<>43)) OR (v1>37 AND v2>5));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=91) OR (v1<>79)) OR (v1<64));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>48) OR (v1>11));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>40) OR (v1>=49 AND v2>=92));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((v1<40) OR (v1<=59)) OR (v1<99)) AND (v1>=83) OR (v1>9));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=53 AND v2<=79) OR (v1>50 AND v2>26)) AND (v1>26) AND (v1>43 AND v2<7);`,
		Expected: []sql.Row{sql.Row{54, 50, 0}, sql.Row{53, 49, 0}, sql.Row{51, 47, 5}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1 BETWEEN 27 AND 84) OR (v1<98 AND v2>38)) OR (v1<>30));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1=45) OR (v1=28));`,
		Expected: []sql.Row{sql.Row{49, 45, 86}, sql.Row{47, 45, 31}, sql.Row{46, 45, 22}, sql.Row{30, 28, 83}, sql.Row{29, 28, 24}, sql.Row{48, 45, 63}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (v1 BETWEEN 11 AND 18) AND (v1>31 AND v2 BETWEEN 38 AND 88);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>95 AND v2>5) OR (v1>16 AND v2>=38));`,
		Expected: []sql.Row{sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{30, 28, 83}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{23, 19, 97}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{22, 19, 75}, sql.Row{44, 44, 48}, sql.Row{71, 63, 69}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>=23) OR (v1=47 AND v2>23));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1=30) OR (v1<>67));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>=30 AND v2>=67) OR (v1<=52));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{73, 65, 97}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1 BETWEEN 48 AND 86 AND v2>=29) OR (v1<>82 AND v2<=93)) OR (v1 BETWEEN 79 AND 87 AND v2 BETWEEN 13 AND 69));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1 BETWEEN 3 AND 95 AND v2>=36) OR (v1>=40 AND v2<13)) OR (v1 BETWEEN 4 AND 8 AND v2=50));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{54, 50, 0}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{13, 13, 44}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{23, 19, 97}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{80, 78, 0}, sql.Row{98, 98, 0}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{44, 44, 48}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<11 AND v2<>32) OR (v1 BETWEEN 35 AND 41)) OR (v1>=76));`,
		Expected: []sql.Row{sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{92, 86, 88}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{79, 76, 39}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{89, 84, 9}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{36, 38, 20}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1=15 AND v2=8) AND (v1>2) OR (v1 BETWEEN 50 AND 97));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{65, 59, 45}, sql.Row{95, 93, 19}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<67 AND v2<>39) OR (v1>36));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>66) OR (v1<50));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1 BETWEEN 5 AND 19) OR (v1<>50 AND v2>=51)) OR (v1>55));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1 BETWEEN 16 AND 65) OR (v1<>18 AND v2>=81)) OR (v1 BETWEEN 6 AND 48));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{49, 45, 86}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1>=31 AND v2>=55) OR (v1 BETWEEN 1 AND 28)) OR (v1 BETWEEN 26 AND 41 AND v2<=15));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{73, 65, 97}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{100, 98, 61}, sql.Row{13, 13, 44}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<=77 AND v2 BETWEEN 4 AND 26) OR (v1<=1 AND v2<>20)) OR (v1>8 AND v2>40));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{55, 50, 14}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{0, 0, 48}, sql.Row{11, 9, 44}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((((v1=37 AND v2>32) OR (v1>13 AND v2>51)) AND (v1 BETWEEN 8 AND 19) OR (v1<>4)) OR (v1<=58 AND v2<>70)) OR (v1<87 AND v2>=24));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1<>50) OR (v1<=88)) OR (v1>=28 AND v2 BETWEEN 30 AND 85));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=94) OR (v1<=87));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<>56 AND v2<93) OR (v1<73 AND v2<=70));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((v1>=85) OR (v1=91)) OR (v1<88 AND v2<42)) OR (v1<>42 AND v2<=10));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{82, 79, 36}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{56, 51, 35}, sql.Row{89, 84, 9}, sql.Row{33, 34, 22}, sql.Row{63, 58, 32}, sql.Row{17, 16, 19}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{28, 27, 24}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{99, 98, 51}, sql.Row{31, 31, 14}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{36, 38, 20}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>42 AND v2<=13) OR (v1=7));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{85, 81, 4}, sql.Row{62, 58, 12}, sql.Row{54, 50, 0}, sql.Row{68, 61, 3}, sql.Row{53, 49, 0}, sql.Row{89, 84, 9}, sql.Row{51, 47, 5}, sql.Row{80, 78, 0}, sql.Row{98, 98, 0}, sql.Row{75, 68, 11}, sql.Row{94, 89, 3}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1=63) OR (v1 BETWEEN 55 AND 82 AND v2 BETWEEN 0 AND 6)) OR (v1=46));`,
		Expected: []sql.Row{sql.Row{58, 56, 0}, sql.Row{85, 81, 4}, sql.Row{50, 46, 46}, sql.Row{68, 61, 3}, sql.Row{80, 78, 0}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 20 AND 77 AND v2>=49) OR (v1<13));`,
		Expected: []sql.Row{sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{66, 59, 54}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{73, 65, 97}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{43, 43, 63}, sql.Row{1, 0, 52}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{6, 5, 60}, sql.Row{71, 63, 69}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1>=72) OR (v1<49 AND v2<>36)) OR (v1>=10 AND v2<1));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE (((v1 BETWEEN 18 AND 87) OR (v1>=42 AND v2>44)) OR (v1<26 AND v2<=55)) AND (v1<=21);`,
		Expected: []sql.Row{sql.Row{3, 2, 10}, sql.Row{5, 5, 36}, sql.Row{21, 19, 48}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{2, 2, 4}, sql.Row{0, 0, 48}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{22, 19, 75}, sql.Row{18, 16, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>98 AND v2<75) OR (v1=47));`,
		Expected: []sql.Row{sql.Row{51, 47, 5}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=57 AND v2>=43) OR (v1<27 AND v2<>3));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{15, 14, 57}, sql.Row{16, 14, 98}, sql.Row{21, 19, 48}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{59, 56, 60}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{25, 25, 14}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{44, 44, 48}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 16 AND 45 AND v2=22) OR (v1>=87 AND v2=48));`,
		Expected: []sql.Row{sql.Row{46, 45, 22}, sql.Row{33, 34, 22}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 45 AND 74 AND v2<=74) OR (v1<>48 AND v2>58));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{49, 45, 86}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{10, 6, 73}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{23, 19, 97}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((((v1<32 AND v2>=79) OR (v1<=28)) OR (v1 BETWEEN 46 AND 72)) OR (v1>16));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<10) OR (v1<89));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1>=64 AND v2>=69) OR (v1>=2));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{85, 81, 4}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{93, 87, 51}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{95, 93, 19}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{89, 84, 9}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{80, 78, 0}, sql.Row{86, 82, 16}, sql.Row{96, 93, 21}, sql.Row{98, 98, 0}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{75, 68, 11}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}, sql.Row{94, 89, 3}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1<=65) OR (v1<64));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{58, 56, 0}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{3, 2, 10}, sql.Row{49, 45, 86}, sql.Row{5, 5, 36}, sql.Row{9, 6, 60}, sql.Row{50, 46, 46}, sql.Row{62, 58, 12}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{54, 50, 0}, sql.Row{55, 50, 14}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{68, 61, 3}, sql.Row{4, 3, 35}, sql.Row{7, 6, 1}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{2, 2, 4}, sql.Row{12, 9, 97}, sql.Row{30, 28, 83}, sql.Row{53, 49, 0}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{0, 0, 48}, sql.Row{10, 6, 73}, sql.Row{11, 9, 44}, sql.Row{20, 18, 31}, sql.Row{41, 42, 0}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{1, 0, 52}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{39, 39, 86}, sql.Row{8, 6, 51}, sql.Row{14, 14, 53}, sql.Row{17, 16, 19}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{51, 47, 5}, sql.Row{64, 59, 29}, sql.Row{25, 25, 14}, sql.Row{27, 27, 9}, sql.Row{32, 33, 39}, sql.Row{6, 5, 60}, sql.Row{22, 19, 75}, sql.Row{31, 31, 14}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{70, 63, 19}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{36, 38, 20}, sql.Row{42, 42, 82}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1=46) OR (v1>9 AND v2>=22));`,
		Expected: []sql.Row{sql.Row{19, 16, 95}, sql.Row{61, 57, 49}, sql.Row{72, 65, 80}, sql.Row{49, 45, 86}, sql.Row{50, 46, 46}, sql.Row{92, 86, 88}, sql.Row{15, 14, 57}, sql.Row{47, 45, 31}, sql.Row{87, 83, 30}, sql.Row{91, 86, 56}, sql.Row{16, 14, 98}, sql.Row{66, 59, 54}, sql.Row{76, 69, 34}, sql.Row{79, 76, 39}, sql.Row{21, 19, 48}, sql.Row{46, 45, 22}, sql.Row{57, 54, 38}, sql.Row{93, 87, 51}, sql.Row{45, 44, 67}, sql.Row{52, 48, 22}, sql.Row{30, 28, 83}, sql.Row{69, 61, 34}, sql.Row{73, 65, 97}, sql.Row{90, 84, 45}, sql.Row{82, 79, 36}, sql.Row{20, 18, 31}, sql.Row{43, 43, 63}, sql.Row{65, 59, 45}, sql.Row{100, 98, 61}, sql.Row{13, 13, 44}, sql.Row{56, 51, 35}, sql.Row{59, 56, 60}, sql.Row{67, 60, 66}, sql.Row{77, 72, 52}, sql.Row{24, 24, 60}, sql.Row{33, 34, 22}, sql.Row{35, 35, 89}, sql.Row{63, 58, 32}, sql.Row{83, 80, 61}, sql.Row{39, 39, 86}, sql.Row{14, 14, 53}, sql.Row{23, 19, 97}, sql.Row{26, 25, 31}, sql.Row{29, 28, 24}, sql.Row{38, 39, 55}, sql.Row{40, 40, 97}, sql.Row{74, 67, 95}, sql.Row{78, 74, 81}, sql.Row{81, 78, 90}, sql.Row{88, 83, 74}, sql.Row{28, 27, 24}, sql.Row{37, 38, 66}, sql.Row{48, 45, 63}, sql.Row{64, 59, 29}, sql.Row{32, 33, 39}, sql.Row{84, 80, 88}, sql.Row{99, 98, 51}, sql.Row{22, 19, 75}, sql.Row{44, 44, 48}, sql.Row{60, 57, 29}, sql.Row{71, 63, 69}, sql.Row{18, 16, 53}, sql.Row{34, 34, 91}, sql.Row{42, 42, 82}, sql.Row{97, 93, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t0 WHERE ((v1 BETWEEN 21 AND 33 AND v2>25) OR (v1<0));`,
		Expected: []sql.Row{sql.Row{30, 28, 83}, sql.Row{24, 24, 60}, sql.Row{26, 25, 31}, sql.Row{32, 33, 39}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>87 AND v2 BETWEEN 8 AND 33) OR (v1 BETWEEN 39 AND 69 AND v3<4));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{27, 23, 13, 53}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{13, 10, 16, 21}, sql.Row{25, 21, 9, 89}, sql.Row{4, 5, 17, 42}, sql.Row{29, 23, 28, 90}, sql.Row{50, 41, 17, 68}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{55, 49, 26, 11}, sql.Row{99, 98, 31, 21}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{69, 61, 11, 25}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=55 AND v2>=72 AND v3=63) AND (v1<>54 AND v2 BETWEEN 3 AND 80) OR (v1=15)) AND (v1<>50);`,
		Expected: []sql.Row{sql.Row{22, 15, 2, 69}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<93 AND v2<39 AND v3 BETWEEN 30 AND 97) OR (v1>54)) OR (v1<66));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>59 AND v2<=15) OR (v1 BETWEEN 2 AND 51)) OR (v1>15 AND v2 BETWEEN 31 AND 81));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<3 AND v2<>23 AND v3<>11) OR (v1<>49)) AND (v1<=41 AND v2>40);`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{6, 6, 81, 33}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{21, 14, 91, 1}, sql.Row{39, 29, 77, 46}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1 BETWEEN 28 AND 38 AND v3<33) OR (v1 BETWEEN 75 AND 85)) AND (v1>=60) OR (v1>=53 AND v2 BETWEEN 36 AND 53 AND v3>48));`,
		Expected: []sql.Row{sql.Row{88, 85, 53, 50}, sql.Row{84, 82, 11, 6}, sql.Row{80, 75, 91, 35}, sql.Row{81, 76, 40, 52}, sql.Row{82, 76, 44, 87}, sql.Row{85, 82, 46, 32}, sql.Row{87, 84, 93, 37}, sql.Row{86, 84, 40, 8}, sql.Row{83, 81, 32, 4}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<6 AND v2<>44) OR (v1 BETWEEN 27 AND 96)) OR (v1>22 AND v2<>30 AND v3<49));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>29 AND v2=40) OR (v1<=74)) OR (v1<13 AND v2 BETWEEN 27 AND 82 AND v3<82));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>6 AND v2 BETWEEN 0 AND 97) OR (v1<>40 AND v3<10 AND v2<>10));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>=35) OR (v1=86)) OR (v1>41 AND v2>=92)) OR (v1<>28));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<16 AND v3=63 AND v2>=20) OR (v1<>41)) OR (v1<=74 AND v3 BETWEEN 14 AND 74 AND v2<>13));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1 BETWEEN 1 AND 11) OR (v1>2 AND v3<=93 AND v2 BETWEEN 28 AND 84)) OR (v1 BETWEEN 34 AND 52 AND v2=73)) OR (v1<>80 AND v2<=32 AND v3 BETWEEN 3 AND 7));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<45) OR (v1<>72)) OR (v1 BETWEEN 10 AND 86 AND v2=92)) OR (v1 BETWEEN 32 AND 81 AND v2>59));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=11 AND v2>50 AND v3 BETWEEN 5 AND 67) AND (v1>74 AND v2 BETWEEN 6 AND 63 AND v3<=1) OR (v1>=53 AND v2>69 AND v3>54));`,
		Expected: []sql.Row{sql.Row{97, 95, 89, 66}, sql.Row{61, 55, 81, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>9) OR (v1>14 AND v2>10));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<=39 AND v2 BETWEEN 17 AND 34) OR (v1=89 AND v3>49 AND v2>58)) OR (v1>97));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{4, 5, 17, 42}, sql.Row{29, 23, 28, 90}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{99, 98, 31, 21}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<7 AND v2<>43) OR (v1<>5 AND v3<0 AND v2<1));`,
		Expected: []sql.Row{sql.Row{2, 3, 38, 37}, sql.Row{3, 3, 99, 99}, sql.Row{1, 2, 65, 9}, sql.Row{6, 6, 81, 33}, sql.Row{4, 5, 17, 42}, sql.Row{5, 6, 6, 76}, sql.Row{0, 0, 3, 16}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>30 AND v2 BETWEEN 23 AND 60 AND v3=58) OR (v1<=3 AND v2 BETWEEN 68 AND 72)) OR (v1<=17)) OR (v1>6 AND v2>=24)) AND (v1<89 AND v2=73);`,
		Expected: []sql.Row{sql.Row{73, 66, 73, 4}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>27) OR (v1>=22 AND v2>99 AND v3>=43));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>25 AND v2 BETWEEN 1 AND 82) OR (v1>31 AND v2=86));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{93, 90, 30, 67}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>12 AND v2<60 AND v3=91) OR (v1>63 AND v2>=8 AND v3<>32)) OR (v1>35 AND v3>=98));`,
		Expected: []sql.Row{sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{81, 76, 40, 52}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{41, 31, 47, 91}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{73, 66, 73, 4}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>27 AND v3=10) OR (v1>=25 AND v2<26)) AND (v1>=62 AND v2<=96 AND v3>28);`,
		Expected: []sql.Row{sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>30 AND v2=40 AND v3 BETWEEN 35 AND 35) OR (v1 BETWEEN 20 AND 77 AND v2>=56 AND v3>62));`,
		Expected: []sql.Row{sql.Row{47, 36, 84, 75}, sql.Row{78, 72, 65, 64}, sql.Row{49, 38, 88, 68}, sql.Row{52, 42, 80, 85}, sql.Row{59, 54, 57, 83}, sql.Row{61, 55, 81, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((((v1<=92 AND v3=0 AND v2>=9) OR (v1 BETWEEN 48 AND 79)) OR (v1>70 AND v2<=26 AND v3 BETWEEN 14 AND 82)) OR (v1>=29 AND v2<>21 AND v3 BETWEEN 37 AND 55)) OR (v1>=6 AND v3<=47));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{18, 13, 47, 30}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{30, 23, 30, 44}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=15 AND v2>28) OR (v1<=84 AND v2<>91));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=49 AND v2<=52 AND v3 BETWEEN 23 AND 38) OR (v1 BETWEEN 30 AND 84 AND v2=94));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 8 AND 18) OR (v1=27 AND v2<=4 AND v3<14));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{22, 15, 2, 69}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{15, 10, 47, 36}, sql.Row{9, 8, 9, 21}, sql.Row{10, 8, 37, 90}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{20, 14, 38, 24}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=4) OR (v1=0 AND v2<=63));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1<=99 AND v2<>86) AND (v1>=21 AND v2>36);`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{87, 84, 93, 37}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>43) OR (v1=14));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1 BETWEEN 21 AND 44 AND v2 BETWEEN 18 AND 88 AND v3=42) AND (v1>=52 AND v2>37 AND v3 BETWEEN 26 AND 91);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>29 AND v2>93 AND v3<64) OR (v1<>54 AND v2>35));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<88) OR (v1<>45 AND v2<89)) AND (v1=98 AND v2<=81 AND v3 BETWEEN 34 AND 77);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>65 AND v2<>86 AND v3<=2) OR (v1<>37 AND v2<=96));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>79) OR (v1>66)) AND (v1<>81 AND v2<34 AND v3>=25) AND (v1<42) OR (v1<>12 AND v2<>17 AND v3<=23));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{27, 23, 13, 53}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{4, 5, 17, 42}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{50, 41, 17, 68}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{55, 49, 26, 11}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{9, 8, 9, 21}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{70, 63, 85, 23}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<81 AND v2>=28) OR (v1=19 AND v2 BETWEEN 9 AND 57));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<32) OR (v1>=52)) OR (v1>=98));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>47) OR (v1<>25));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1>27 AND v2<=80 AND v3 BETWEEN 11 AND 37) AND (v1=87 AND v2<54) AND (v1>29);`,
		Expected: []sql.Row{sql.Row{90, 87, 22, 34}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>65 AND v2>=52) OR (v1<=85)) OR (v1<=64 AND v3=9 AND v2>=36));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=12 AND v2>=65) OR (v1=11 AND v2<1));`,
		Expected: []sql.Row{sql.Row{97, 95, 89, 66}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{49, 38, 88, 68}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{43, 33, 70, 50}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{39, 29, 77, 46}, sql.Row{70, 63, 85, 23}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{61, 55, 81, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=92 AND v2<=42) OR (v1>=58));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>0) OR (v1<81 AND v2>=70)) OR (v1>=52));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>5 AND v3<=32) OR (v1 BETWEEN 77 AND 85 AND v3 BETWEEN 16 AND 21 AND v2 BETWEEN 10 AND 42));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{71, 65, 17, 9}, sql.Row{51, 41, 77, 26}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{18, 13, 47, 30}, sql.Row{79, 74, 78, 26}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{55, 49, 26, 11}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{9, 8, 9, 21}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>43 AND v2<53 AND v3<=20) OR (v1<7 AND v2<>79));`,
		Expected: []sql.Row{sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{3, 3, 99, 99}, sql.Row{71, 65, 17, 9}, sql.Row{1, 2, 65, 9}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{4, 5, 17, 42}, sql.Row{31, 24, 20, 8}, sql.Row{55, 49, 26, 11}, sql.Row{77, 71, 39, 15}, sql.Row{5, 6, 6, 76}, sql.Row{0, 0, 3, 16}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1>=17 AND v2 BETWEEN 17 AND 78 AND v3=10) AND (v1<=67) AND (v1>=81 AND v2<=88 AND v3>=70);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<77 AND v2<35 AND v3=73) OR (v1=85 AND v2>0 AND v3<65)) AND (v1>=20 AND v3<23 AND v2<=81) OR (v1<34 AND v2<=21 AND v3<=45));`,
		Expected: []sql.Row{sql.Row{13, 10, 16, 21}, sql.Row{4, 5, 17, 42}, sql.Row{36, 29, 7, 38}, sql.Row{31, 24, 20, 8}, sql.Row{33, 26, 15, 28}, sql.Row{9, 8, 9, 21}, sql.Row{0, 0, 3, 16}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((((v1<=69) AND (v1>=60 AND v2<18 AND v3=15) OR (v1<=75)) OR (v1>=52 AND v2<10)) OR (v1<37 AND v2<=64)) OR (v1>38 AND v2=27));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1<=76) AND (v1<=94);`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<>40 AND v2>1) OR (v1>3 AND v2<=42)) OR (v1=99 AND v2>62)) OR (v1<17 AND v2<>75 AND v3=6));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1=39) OR (v1=40 AND v2<>49)) OR (v1<>35 AND v2>4 AND v3>26)) OR (v1=32 AND v2<>55));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{12, 9, 71, 82}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=16 AND v2<>25 AND v3<>3) OR (v1>=4 AND v2 BETWEEN 4 AND 93 AND v3>39));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{12, 9, 71, 82}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{78, 72, 65, 64}, sql.Row{81, 76, 40, 52}, sql.Row{67, 59, 77, 53}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{29, 23, 28, 90}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>=51 AND v2<83) OR (v1>=15 AND v2>=3)) OR (v1<=49)) OR (v1<69));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1<>43 AND v2>10) AND (v1>30 AND v2 BETWEEN 18 AND 78 AND v3 BETWEEN 75 AND 81);`,
		Expected: []sql.Row{sql.Row{89, 86, 63, 79}, sql.Row{42, 32, 40, 76}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>1) OR (v1<34 AND v2>=57 AND v3 BETWEEN 15 AND 67));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>3 AND v2>32) OR (v1<=26 AND v3>=27 AND v2>=5));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>25 AND v2<>70 AND v3<=51) OR (v1<=71 AND v2>59));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{39, 29, 77, 46}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1 BETWEEN 0 AND 61 AND v2<0) OR (v1 BETWEEN 0 AND 38 AND v2>34)) OR (v1>=13 AND v2>=41));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{15, 10, 47, 36}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>68 AND v2<=57) AND (v1<>84 AND v3 BETWEEN 24 AND 98 AND v2 BETWEEN 28 AND 45) OR (v1>0 AND v2<>47 AND v3>=69)) OR (v1>=44));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{12, 9, 71, 82}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{37, 29, 21, 74}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=48 AND v2 BETWEEN 33 AND 66) OR (v1>=91));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{7, 7, 33, 51}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{16, 12, 44, 84}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{35, 28, 39, 84}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1 BETWEEN 17 AND 52 AND v2<96) OR (v1<=12 AND v2<>4 AND v3>53)) OR (v1<98 AND v3<94 AND v2=5));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>26 AND v2 BETWEEN 66 AND 79 AND v3<=94) OR (v1 BETWEEN 16 AND 55));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1 BETWEEN 36 AND 67 AND v3<74 AND v2=26) AND (v1 BETWEEN 9 AND 10 AND v2=96) AND (v1<=11 AND v2<>63 AND v3>=62);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 28 AND 49 AND v2<47) OR (v1>37 AND v2 BETWEEN 45 AND 61 AND v3<73));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{38, 29, 27, 48}, sql.Row{54, 46, 58, 8}, sql.Row{74, 67, 55, 27}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{37, 29, 21, 74}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{35, 28, 39, 84}, sql.Row{42, 32, 40, 76}, sql.Row{85, 82, 46, 32}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<37 AND v2>=26 AND v3<=14) OR (v1<64)) OR (v1 BETWEEN 31 AND 53 AND v2>55 AND v3<=55));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=77) OR (v1<50)) AND (v1<=53 AND v2>35 AND v3<>98);`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{35, 28, 39, 84}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1=2 AND v2=40 AND v3 BETWEEN 18 AND 67) OR (v1=14 AND v2<=24 AND v3<=87)) OR (v1 BETWEEN 8 AND 31 AND v2>86)) OR (v1>30));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>46 AND v2<>49 AND v3<=44) OR (v1 BETWEEN 64 AND 80 AND v2=41 AND v3<=68));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{96, 94, 92, 38}, sql.Row{65, 56, 66, 33}, sql.Row{74, 67, 55, 27}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{55, 49, 26, 11}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{83, 81, 32, 4}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=95 AND v3<47 AND v2>=97) OR (v1 BETWEEN 11 AND 36 AND v2<=83));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{40, 31, 47, 21}, sql.Row{27, 23, 13, 53}, sql.Row{38, 29, 27, 48}, sql.Row{22, 15, 2, 69}, sql.Row{34, 27, 35, 12}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=65 AND v2=39 AND v3 BETWEEN 49 AND 67) OR (v1<57 AND v2>35));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{47, 36, 84, 75}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{65, 56, 66, 33}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{35, 28, 39, 84}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>71 AND v2=33) OR (v1<>85 AND v2<>50 AND v3 BETWEEN 34 AND 67)) OR (v1 BETWEEN 5 AND 47 AND v3 BETWEEN 13 AND 76 AND v2=4)) OR (v1=16 AND v2>=29 AND v3<>80));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{27, 23, 13, 53}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{81, 76, 40, 52}, sql.Row{67, 59, 77, 53}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{15, 10, 47, 36}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{8, 7, 37, 42}, sql.Row{30, 23, 30, 44}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=17 AND v2>38) AND (v1>=79) OR (v1<>38));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=4 AND v2=26) OR (v1>21 AND v2 BETWEEN 14 AND 64));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{40, 31, 47, 21}, sql.Row{94, 91, 15, 15}, sql.Row{71, 65, 17, 9}, sql.Row{38, 29, 27, 48}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{93, 90, 30, 67}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>50) OR (v1<=58 AND v2<=95)) OR (v1=10));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<=21 AND v2<>95) OR (v1<>23 AND v2 BETWEEN 15 AND 22)) OR (v1<=53 AND v2>=6)) OR (v1<=13 AND v2<>93 AND v3<15));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{94, 91, 15, 15}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1<64 AND v2>=90 AND v3>41) AND (v1>=14 AND v2 BETWEEN 30 AND 70 AND v3>=25);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<27 AND v2<=43) OR (v1<62 AND v2<=99)) OR (v1<>48 AND v2<29 AND v3<>69));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<11 AND v2<70 AND v3>27) OR (v1>=80 AND v2<31 AND v3<65)) OR (v1>=98 AND v2 BETWEEN 30 AND 85 AND v3>=30));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{2, 3, 38, 37}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{7, 7, 33, 51}, sql.Row{4, 5, 17, 42}, sql.Row{15, 10, 47, 36}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{90, 87, 22, 34}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1<>44 AND v2>=10) AND (v1=47 AND v2=14 AND v3<30);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>6 AND v2=50) OR (v1>=16));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=31) OR (v1>53 AND v2<>11 AND v3<>94)) OR (v1>48 AND v2 BETWEEN 11 AND 29 AND v3 BETWEEN 68 AND 72));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 55 AND 59) OR (v1<=10 AND v2>=24)) AND (v1>93 AND v3<70 AND v2 BETWEEN 44 AND 79) AND (v1>=22 AND v2=27);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=43 AND v2<28 AND v3<>24) OR (v1<36 AND v2=14 AND v3 BETWEEN 16 AND 55));`,
		Expected: []sql.Row{sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{62, 56, 0, 97}, sql.Row{53, 45, 1, 57}, sql.Row{55, 49, 26, 11}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{69, 61, 11, 25}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>48 AND v2<=80) OR (v1=72 AND v3 BETWEEN 45 AND 52 AND v2=98));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{78, 72, 65, 64}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{93, 90, 30, 67}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1>=98 AND v2=51) AND (v1>34);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>2) OR (v1<=30)) OR (v1<>35 AND v2 BETWEEN 6 AND 61 AND v3>=16));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>19) OR (v1<>48));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 12 AND 42 AND v2<=12) OR (v1<34 AND v2 BETWEEN 30 AND 47 AND v3<>50));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{7, 7, 33, 51}, sql.Row{22, 15, 2, 69}, sql.Row{34, 27, 35, 12}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{18, 13, 47, 30}, sql.Row{36, 29, 7, 38}, sql.Row{41, 31, 47, 91}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((((v1>=6) OR (v1>7)) OR (v1<88 AND v2<=34 AND v3<=47)) OR (v1>=10)) OR (v1=10));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=74) OR (v1>=1)) OR (v1=54 AND v2>=38 AND v3>2)) AND (v1>5);`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=45 AND v2>18) OR (v1<64 AND v2=25 AND v3>97));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{80, 75, 91, 35}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<37 AND v3>77) OR (v1>38 AND v3<>57 AND v2=87));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{12, 9, 71, 82}, sql.Row{3, 3, 99, 99}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{29, 23, 28, 90}, sql.Row{41, 31, 47, 91}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{35, 28, 39, 84}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<96 AND v2>11 AND v3<76) OR (v1<=14 AND v2=23)) OR (v1<=15 AND v2<21 AND v3<91)) OR (v1=45 AND v2<11 AND v3=1));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{94, 91, 15, 15}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{33, 26, 15, 28}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{5, 6, 6, 76}, sql.Row{30, 23, 30, 44}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>23 AND v3<=52) OR (v1<>19 AND v2=25));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1<=12 AND v2>=65) AND (v1<6 AND v2>=92);`,
		Expected: []sql.Row{sql.Row{3, 3, 99, 99}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=62 AND v2<>32) OR (v1>=55 AND v2=41 AND v3>73));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>34 AND v2<=62) OR (v1>5 AND v2 BETWEEN 59 AND 98 AND v3<69)) OR (v1>34));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1=61 AND v2 BETWEEN 10 AND 22 AND v3<34) OR (v1=68)) OR (v1<=97 AND v3 BETWEEN 7 AND 63 AND v2<67));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{88, 85, 53, 50}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{30, 23, 30, 44}, sql.Row{69, 61, 11, 25}, sql.Row{0, 0, 3, 16}, sql.Row{23, 16, 40, 36}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=42) OR (v1 BETWEEN 13 AND 30 AND v2<50));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 16 AND 49) OR (v1<=69 AND v2>9 AND v3<=8));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{40, 31, 47, 21}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>71 AND v2>44) OR (v1<76 AND v2>=10)) OR (v1>=44 AND v2=66));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{92, 88, 88, 42}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((((v1>=26) OR (v1>=13 AND v2 BETWEEN 35 AND 95 AND v3>=29)) OR (v1<>54 AND v2 BETWEEN 0 AND 54)) OR (v1 BETWEEN 17 AND 17 AND v2<=71)) OR (v1>50 AND v3>=42)) OR (v1<>0));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=99 AND v2<66) OR (v1 BETWEEN 1 AND 47)) OR (v1<>2 AND v2<30));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>9 AND v2<74) AND (v1<=63 AND v2=18) OR (v1<46));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<=20 AND v2<=62) OR (v1>45 AND v2=33 AND v3<=4)) OR (v1>29));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<=55 AND v2 BETWEEN 82 AND 96 AND v3>=13) OR (v1>=89 AND v2<18 AND v3<19)) OR (v1=98 AND v3>=40)) OR (v1 BETWEEN 7 AND 74 AND v2<=73));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{94, 91, 15, 15}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{78, 72, 65, 64}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{20, 14, 38, 24}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=26 AND v2 BETWEEN 6 AND 80) AND (v1=47 AND v2<67 AND v3<7) OR (v1>63));`,
		Expected: []sql.Row{sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{81, 76, 40, 52}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{73, 66, 73, 4}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<11) OR (v1<>33));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<=35) AND (v1=44 AND v2<78 AND v3>=40) OR (v1<>88 AND v2=8)) AND (v1>=99 AND v2=62) OR (v1<=94)) OR (v1 BETWEEN 22 AND 23 AND v2 BETWEEN 14 AND 46));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<9 AND v2=94 AND v3>8) OR (v1>=63));`,
		Expected: []sql.Row{sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{81, 76, 40, 52}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{73, 66, 73, 4}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<43) OR (v1 BETWEEN 40 AND 49 AND v2>26 AND v3 BETWEEN 22 AND 80));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 4 AND 85 AND v2<>45 AND v3<=41) OR (v1>67 AND v2<25));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{46, 36, 4, 36}, sql.Row{18, 13, 47, 30}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{55, 49, 26, 11}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{33, 26, 15, 28}, sql.Row{9, 8, 9, 21}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>77) OR (v1<=54 AND v2<=71 AND v3>=49)) OR (v1>54 AND v2<30 AND v3=6));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1 BETWEEN 21 AND 53 AND v2=0 AND v3>32) OR (v1=93 AND v2>=94 AND v3<1)) OR (v1<26)) OR (v1<>11 AND v2<>32 AND v3=6)) AND (v1>=45);`,
		Expected: []sql.Row{sql.Row{84, 82, 11, 6}, sql.Row{57, 50, 86, 6}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>50) OR (v1<=71));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=41) OR (v1>29 AND v2<>31));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<88 AND v2<91 AND v3>9) AND (v1>=5 AND v2 BETWEEN 21 AND 29 AND v3>18) OR (v1>=40));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{37, 29, 21, 74}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{24, 20, 29, 93}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>2 AND v2<76 AND v3<=35) OR (v1<=12 AND v3 BETWEEN 25 AND 30));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{71, 65, 17, 9}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{18, 13, 47, 30}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{55, 49, 26, 11}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{9, 8, 9, 21}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1 BETWEEN 25 AND 84 AND v2<=94) OR (v1>66 AND v2>4 AND v3>=57)) OR (v1=78 AND v2>66 AND v3=19)) OR (v1<>48));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=24) OR (v1>=47 AND v2<=75 AND v3<=52));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=21 AND v2<>70) OR (v1<=77 AND v2>4)) OR (v1<28 AND v2<=3 AND v3<>21));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=60 AND v2>91) OR (v1<=10));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{3, 3, 99, 99}, sql.Row{7, 7, 33, 51}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{6, 6, 81, 33}, sql.Row{13, 10, 16, 21}, sql.Row{4, 5, 17, 42}, sql.Row{15, 10, 47, 36}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{0, 0, 3, 16}, sql.Row{87, 84, 93, 37}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>98 AND v2<52) OR (v1 BETWEEN 65 AND 67)) OR (v1 BETWEEN 18 AND 54)) AND (v1>=14 AND v2=27);`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{38, 29, 27, 48}, sql.Row{48, 37, 27, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=43 AND v2<>39) AND (v1<=32 AND v2<=15 AND v3>=54) OR (v1<>68 AND v2 BETWEEN 42 AND 46));`,
		Expected: []sql.Row{sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{60, 55, 45, 46}, sql.Row{100, 98, 42, 22}, sql.Row{72, 66, 46, 46}, sql.Row{26, 21, 42, 76}, sql.Row{85, 82, 46, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1>=19 AND v2<2) AND (v1<4 AND v3>23 AND v2<>53);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 34 AND 40) OR (v1<=80 AND v2<>53)) AND (v1=81 AND v2=17 AND v3<>12);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>34 AND v2 BETWEEN 18 AND 67 AND v3<67) OR (v1>21));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>45) OR (v1>=91 AND v2>=8 AND v3<=38)) OR (v1<>58 AND v3<=32 AND v2<>45));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=48) OR (v1<38 AND v2>=26)) AND (v1<=45 AND v2>21) AND (v1=83 AND v2=20);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>25) OR (v1<53));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<95 AND v2>=12) OR (v1 BETWEEN 41 AND 55 AND v2<=81 AND v3<46));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{94, 91, 15, 15}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>39 AND v2 BETWEEN 53 AND 73 AND v3<=11) OR (v1<=31 AND v2=68 AND v3>=71)) OR (v1<>18 AND v2<=51));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1>4) AND (v1=3 AND v2 BETWEEN 4 AND 34 AND v3<=40);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>36 AND v2>82) OR (v1 BETWEEN 22 AND 59));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=0) OR (v1 BETWEEN 17 AND 45));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{40, 31, 47, 21}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{34, 27, 35, 12}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<1 AND v3<=34) OR (v1 BETWEEN 2 AND 57 AND v2<>70));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1>4) AND (v1 BETWEEN 8 AND 35 AND v2>=94 AND v3=32) AND (v1>=12);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<=93 AND v3<>47) OR (v1>=93 AND v2 BETWEEN 15 AND 42 AND v3<=6)) OR (v1>15)) OR (v1 BETWEEN 0 AND 1 AND v2>33));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>12) OR (v1>=26 AND v2 BETWEEN 77 AND 87 AND v3<19)) OR (v1<=89));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1=27 AND v2=16 AND v3>=8) OR (v1<20 AND v2>=1 AND v3 BETWEEN 28 AND 47)) OR (v1 BETWEEN 15 AND 43 AND v2>30));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{2, 3, 38, 37}, sql.Row{40, 31, 47, 21}, sql.Row{47, 36, 84, 75}, sql.Row{51, 41, 77, 26}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{8, 7, 37, 42}, sql.Row{35, 28, 39, 84}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=67 AND v2<>69) OR (v1<28 AND v2<62 AND v3>=99));`,
		Expected: []sql.Row{sql.Row{74, 67, 55, 27}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<45 AND v2>5 AND v3>20) OR (v1<17));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{6, 6, 81, 33}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=40 AND v2<>18) OR (v1<>97 AND v2<>17 AND v3<>48));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>63) AND (v1<=44 AND v2<>43 AND v3=29) OR (v1=38 AND v2>45));`,
		Expected: []sql.Row{sql.Row{49, 38, 88, 68}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=6) OR (v1>0 AND v2 BETWEEN 3 AND 50));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{1, 2, 65, 9}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{50, 41, 17, 68}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{0, 0, 3, 16}, sql.Row{23, 16, 40, 36}, sql.Row{42, 32, 40, 76}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 5 AND 35 AND v2<=3 AND v3<>14) OR (v1>11));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<50) AND (v1<19 AND v2>=10) OR (v1<36 AND v2>10 AND v3<>65));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{1, 2, 65, 9}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1=56 AND v3<=4 AND v2=46) OR (v1 BETWEEN 21 AND 53 AND v2<>63)) OR (v1 BETWEEN 10 AND 62 AND v2>=62)) OR (v1>31));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<20 AND v2>=1 AND v3=26) OR (v1=12));`,
		Expected: []sql.Row{sql.Row{16, 12, 44, 84}, sql.Row{17, 12, 66, 40}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>51) AND (v1<>4 AND v2<47 AND v3>=77) OR (v1>41 AND v3>62));`,
		Expected: []sql.Row{sql.Row{97, 95, 89, 66}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{78, 72, 65, 64}, sql.Row{62, 56, 0, 97}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{93, 90, 30, 67}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{35, 28, 39, 84}, sql.Row{59, 54, 57, 83}, sql.Row{61, 55, 81, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<35) OR (v1>=58 AND v2>=0));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>28 AND v2<95) OR (v1<91));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (v1=99 AND v2<=41 AND v3>=61) AND (v1=34 AND v2>68 AND v3<=42);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=74 AND v2<=18) OR (v1>=72)) AND (v1=95 AND v2=31 AND v3 BETWEEN 5 AND 19);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1=64) OR (v1>=49 AND v2<9 AND v3<=49));`,
		Expected: []sql.Row{sql.Row{95, 93, 7, 26}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=46) AND (v1<22 AND v2<>42 AND v3<>54) OR (v1>=55 AND v2 BETWEEN 11 AND 84));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{71, 65, 17, 9}, sql.Row{78, 72, 65, 64}, sql.Row{81, 76, 40, 52}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{93, 90, 30, 67}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{86, 84, 40, 8}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=7) OR (v1<54));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<=95 AND v2=55 AND v3>34) OR (v1=19));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1=51 AND v2<=9) OR (v1<>50)) OR (v1<>4 AND v2>56)) OR (v1 BETWEEN 3 AND 18 AND v2>10 AND v3=12));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1<=90 AND v2<=17) OR (v1=2)) OR (v1<>70 AND v2>=84 AND v3<>42)) OR (v1<11 AND v2<>47 AND v3<55));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{84, 82, 11, 6}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{6, 6, 81, 33}, sql.Row{62, 56, 0, 97}, sql.Row{13, 10, 16, 21}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{5, 6, 6, 76}, sql.Row{69, 61, 11, 25}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{70, 63, 85, 23}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 50 AND 59) OR (v1>=23 AND v3>=87 AND v2<>46));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{63, 56, 8, 78}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{29, 23, 28, 90}, sql.Row{41, 31, 47, 91}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{59, 54, 57, 83}, sql.Row{57, 50, 86, 6}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<53) OR (v1<=3));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=16 AND v2 BETWEEN 66 AND 94) OR (v1>70 AND v2<=3)) AND (v1<>91) OR (v1=17 AND v2>=7));`,
		Expected: []sql.Row{sql.Row{97, 95, 89, 66}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{96, 94, 92, 38}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{49, 38, 88, 68}, sql.Row{79, 74, 78, 26}, sql.Row{43, 33, 70, 50}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{70, 63, 85, 23}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{61, 55, 81, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<29 AND v3>=33 AND v2=43) OR (v1<59));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>19 AND v2>84 AND v3>94) OR (v1>=42 AND v3=41));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=8 AND v2<=97 AND v3>=77) OR (v1<>4)) OR (v1<=41));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>33) OR (v1<=28)) OR (v1<>68));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<>15 AND v2>=22 AND v3<=51) OR (v1<>40 AND v2>26 AND v3<95));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>6) OR (v1<=67 AND v2<>67 AND v3>=88));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<=0) OR (v1<=53)) OR (v1<=38));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1=60 AND v3 BETWEEN 2 AND 13 AND v2 BETWEEN 10 AND 69) OR (v1 BETWEEN 1 AND 49)) OR (v1=8 AND v2<26));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1 BETWEEN 14 AND 20 AND v2<>70) OR (v1>78 AND v2 BETWEEN 31 AND 52 AND v3>16)) OR (v1 BETWEEN 77 AND 78));`,
		Expected: []sql.Row{sql.Row{22, 15, 2, 69}, sql.Row{100, 98, 42, 22}, sql.Row{99, 98, 31, 21}, sql.Row{24, 20, 29, 93}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<80 AND v2 BETWEEN 41 AND 74) OR (v1>=36 AND v2=32));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{54, 46, 58, 8}, sql.Row{65, 56, 66, 33}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{16, 12, 44, 84}, sql.Row{60, 55, 45, 46}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{72, 66, 46, 46}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=24 AND v2=62) OR (v1<=24 AND v3<>22 AND v2 BETWEEN 12 AND 25)) OR (v1 BETWEEN 48 AND 49 AND v3>=90)) AND (v1<15 AND v2<>55 AND v3=51);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<66 AND v2>=11 AND v3<90) OR (v1<>90)) OR (v1<=7 AND v2=52));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1 BETWEEN 6 AND 74 AND v2=52) OR (v1>44 AND v3>=15 AND v2 BETWEEN 17 AND 94)) OR (v1>84));`,
		Expected: []sql.Row{sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{80, 75, 91, 35}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{81, 76, 40, 52}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=38) OR (v1=13)) OR (v1=25 AND v2<=32 AND v3 BETWEEN 12 AND 92));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{18, 13, 47, 30}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<=84) OR (v1=41)) OR (v1<83 AND v2=13 AND v3=58));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<36 AND v2<=79 AND v3>47) OR (v1 BETWEEN 24 AND 89 AND v2<29));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{12, 9, 71, 82}, sql.Row{84, 82, 11, 6}, sql.Row{27, 23, 13, 53}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{22, 15, 2, 69}, sql.Row{62, 56, 0, 97}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{42, 32, 40, 76}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 3 AND 19 AND v2<=57 AND v3>61) OR (v1<=58 AND v2>=36 AND v3=31)) AND (v1>94);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1<78 AND v2 BETWEEN 55 AND 64 AND v3>=0) OR (v1<74));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{20, 14, 38, 24}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<>1 AND v2=88 AND v3<33) OR (v1<=38)) OR (v1>74 AND v3<>55 AND v2>=9));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1 BETWEEN 15 AND 96 AND v2<>73) OR (v1>=16));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=72 AND v2<>19 AND v3 BETWEEN 9 AND 12) OR (v1<=77 AND v2=30 AND v3<=10));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>28 AND v2>=73 AND v3=79) AND (v1<=70 AND v2 BETWEEN 5 AND 36) OR (v1<=31)) OR (v1<36)) OR (v1=47 AND v2 BETWEEN 0 AND 92 AND v3<=43));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{15, 10, 47, 36}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{20, 14, 38, 24}, sql.Row{28, 23, 28, 68}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>24) AND (v1>68 AND v2 BETWEEN 1 AND 79 AND v3 BETWEEN 23 AND 44) OR (v1>78));`,
		Expected: []sql.Row{sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{96, 94, 92, 38}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{86, 84, 40, 8}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1=47 AND v2=7) OR (v1>=7 AND v2<>87)) OR (v1<>6 AND v2<=84));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>=49 AND v2>53 AND v3<>12) OR (v1=95 AND v2<1 AND v3<>89)) OR (v1=62 AND v3>=37 AND v2<=22)) OR (v1>30 AND v2>=66));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{97, 95, 89, 66}, sql.Row{47, 36, 84, 75}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{49, 38, 88, 68}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{43, 33, 70, 50}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1=24 AND v2<81) OR (v1<=22 AND v2>34 AND v3<55)) OR (v1=45 AND v2>=94 AND v3>17));`,
		Expected: []sql.Row{sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{1, 2, 65, 9}, sql.Row{6, 6, 81, 33}, sql.Row{18, 13, 47, 30}, sql.Row{17, 12, 66, 40}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{15, 10, 47, 36}, sql.Row{8, 7, 37, 42}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{20, 14, 38, 24}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>38) OR (v1<51 AND v2>=28 AND v3=44)) OR (v1 BETWEEN 23 AND 61 AND v2 BETWEEN 54 AND 75 AND v3<>44)) OR (v1>72));`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{30, 23, 30, 44}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((((v1>40 AND v2 BETWEEN 26 AND 30) OR (v1<3 AND v2>=62 AND v3<=8)) OR (v1<>57)) OR (v1=16 AND v2>92 AND v3<=74));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<=34 AND v2 BETWEEN 29 AND 35 AND v3>=64) OR (v1<>47)) AND (v1>=11) OR (v1<>46 AND v2 BETWEEN 4 AND 26));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1 BETWEEN 41 AND 98 AND v2>54) OR (v1<29)) OR (v1<32));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{64, 56, 58, 4}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{76, 70, 58, 33}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{15, 10, 47, 36}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{92, 88, 88, 42}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{20, 14, 38, 24}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{28, 23, 28, 68}, sql.Row{61, 55, 81, 80}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=79 AND v3 BETWEEN 9 AND 95) OR (v1 BETWEEN 50 AND 50 AND v2 BETWEEN 16 AND 38 AND v3<>94));`,
		Expected: []sql.Row{sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{96, 94, 92, 38}, sql.Row{89, 86, 63, 79}, sql.Row{100, 98, 42, 22}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((((v1<>79) OR (v1 BETWEEN 9 AND 11 AND v2<48 AND v3<=73)) OR (v1<=46)) OR (v1 BETWEEN 66 AND 67)) OR (v1<=86 AND v2<4));`,
		Expected: []sql.Row{sql.Row{14, 10, 32, 46}, sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{2, 3, 38, 37}, sql.Row{11, 9, 39, 20}, sql.Row{12, 9, 71, 82}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{3, 3, 99, 99}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{7, 7, 33, 51}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{1, 2, 65, 9}, sql.Row{22, 15, 2, 69}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{6, 6, 81, 33}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{13, 10, 16, 21}, sql.Row{16, 12, 44, 84}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{4, 5, 17, 42}, sql.Row{18, 13, 47, 30}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{17, 12, 66, 40}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{19, 13, 56, 41}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{15, 10, 47, 36}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{9, 8, 9, 21}, sql.Row{8, 7, 37, 42}, sql.Row{10, 8, 37, 90}, sql.Row{5, 6, 6, 76}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{0, 0, 3, 16}, sql.Row{21, 14, 91, 1}, sql.Row{23, 16, 40, 36}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{20, 14, 38, 24}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1>=2 AND v2 BETWEEN 32 AND 59 AND v3 BETWEEN 50 AND 52) OR (v1<26)) OR (v1<>2 AND v2>11)) AND (v1>32 AND v2<=92) AND (v1>45 AND v2<>5 AND v3<>49);`,
		Expected: []sql.Row{sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{94, 91, 15, 15}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{58, 54, 13, 78}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{73, 66, 73, 4}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{57, 50, 86, 6}, sql.Row{86, 84, 40, 8}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=19) AND (v1<=73) OR (v1=9 AND v2=5 AND v3<=5));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{40, 31, 47, 21}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{54, 46, 58, 8}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{25, 21, 9, 89}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{26, 21, 42, 76}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{24, 20, 29, 93}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE (((v1<62) AND (v1<=57 AND v2>51 AND v3 BETWEEN 29 AND 30) OR (v1>=28 AND v2<=62 AND v3<>76)) OR (v1>=94));`,
		Expected: []sql.Row{sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{38, 29, 27, 48}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{62, 56, 0, 97}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{60, 55, 45, 46}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{93, 90, 30, 67}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{59, 54, 57, 83}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>21) OR (v1>=86 AND v2>2 AND v3>=67));`,
		Expected: []sql.Row{sql.Row{32, 25, 49, 88}, sql.Row{44, 34, 27, 58}, sql.Row{64, 56, 58, 4}, sql.Row{88, 85, 53, 50}, sql.Row{97, 95, 89, 66}, sql.Row{40, 31, 47, 21}, sql.Row{84, 82, 11, 6}, sql.Row{94, 91, 15, 15}, sql.Row{95, 93, 7, 26}, sql.Row{27, 23, 13, 53}, sql.Row{47, 36, 84, 75}, sql.Row{63, 56, 8, 78}, sql.Row{68, 60, 8, 70}, sql.Row{71, 65, 17, 9}, sql.Row{80, 75, 91, 35}, sql.Row{38, 29, 27, 48}, sql.Row{51, 41, 77, 26}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{54, 46, 58, 8}, sql.Row{81, 76, 40, 52}, sql.Row{34, 27, 35, 12}, sql.Row{62, 56, 0, 97}, sql.Row{65, 56, 66, 33}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{46, 36, 4, 36}, sql.Row{49, 38, 88, 68}, sql.Row{60, 55, 45, 46}, sql.Row{89, 86, 63, 79}, sql.Row{29, 23, 28, 90}, sql.Row{36, 29, 7, 38}, sql.Row{53, 45, 1, 57}, sql.Row{79, 74, 78, 26}, sql.Row{50, 41, 17, 68}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{31, 24, 20, 8}, sql.Row{37, 29, 21, 74}, sql.Row{41, 31, 47, 91}, sql.Row{43, 33, 70, 50}, sql.Row{55, 49, 26, 11}, sql.Row{72, 66, 46, 46}, sql.Row{77, 71, 39, 15}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{33, 26, 15, 28}, sql.Row{52, 42, 80, 85}, sql.Row{58, 54, 13, 78}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{30, 23, 30, 44}, sql.Row{35, 28, 39, 84}, sql.Row{69, 61, 11, 25}, sql.Row{73, 66, 73, 4}, sql.Row{39, 29, 77, 46}, sql.Row{42, 32, 40, 76}, sql.Row{59, 54, 57, 83}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{57, 50, 86, 6}, sql.Row{75, 70, 8, 54}, sql.Row{86, 84, 40, 8}, sql.Row{28, 23, 28, 68}, sql.Row{48, 37, 27, 32}, sql.Row{56, 50, 49, 20}, sql.Row{61, 55, 81, 80}, sql.Row{83, 81, 32, 4}, sql.Row{91, 87, 57, 62}, sql.Row{45, 35, 32, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t1 WHERE ((v1>=94) OR (v1>=57 AND v2<>53 AND v3>22));`,
		Expected: []sql.Row{sql.Row{97, 95, 89, 66}, sql.Row{95, 93, 7, 26}, sql.Row{68, 60, 8, 70}, sql.Row{80, 75, 91, 35}, sql.Row{78, 72, 65, 64}, sql.Row{96, 94, 92, 38}, sql.Row{81, 76, 40, 52}, sql.Row{67, 59, 77, 53}, sql.Row{74, 67, 55, 27}, sql.Row{82, 76, 44, 87}, sql.Row{89, 86, 63, 79}, sql.Row{79, 74, 78, 26}, sql.Row{76, 70, 58, 33}, sql.Row{100, 98, 42, 22}, sql.Row{72, 66, 46, 46}, sql.Row{99, 98, 31, 21}, sql.Row{98, 97, 63, 19}, sql.Row{66, 57, 7, 52}, sql.Row{92, 88, 88, 42}, sql.Row{93, 90, 30, 67}, sql.Row{69, 61, 11, 25}, sql.Row{70, 63, 85, 23}, sql.Row{85, 82, 46, 32}, sql.Row{90, 87, 22, 34}, sql.Row{87, 84, 93, 37}, sql.Row{75, 70, 8, 54}, sql.Row{91, 87, 57, 62}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<40 AND v2=9) OR (v1<11 AND v2=15 AND v3<>55 AND v4<>95));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=82 AND v2=74 AND v3=98) OR (v1=27 AND v2 BETWEEN 16 AND 46 AND v3<>27)) OR (v1>=80 AND v2<>42 AND v3>=47));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{87, 84, 56, 78, 18}, sql.Row{82, 82, 29, 66, 71}, sql.Row{86, 83, 41, 53, 57}, sql.Row{89, 86, 7, 57, 96}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>=47 AND v2<=37 AND v3<90 AND v4=25) OR (v1<42 AND v2>=96 AND v3=38)) OR (v1>26)) OR (v1>=80));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>33 AND v2>=16) OR (v1>=24));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=51 AND v4 BETWEEN 36 AND 55 AND v2>62 AND v3<43) OR (v1 BETWEEN 5 AND 60 AND v2<1)) OR (v1=51 AND v2>=98 AND v3>=94));`,
		Expected: []sql.Row{sql.Row{20, 12, 0, 33, 62}, sql.Row{59, 51, 97, 39, 36}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=6 AND v4<95 AND v2<41 AND v3<=4) AND (v1>=81 AND v4>44 AND v2 BETWEEN 6 AND 11) OR (v1<=98));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=12 AND v2<=78 AND v3 BETWEEN 28 AND 63 AND v4 BETWEEN 46 AND 95) OR (v1=87 AND v2<=44)) OR (v1<14 AND v2<>37 AND v3 BETWEEN 6 AND 32));`,
		Expected: []sql.Row{sql.Row{20, 12, 0, 33, 62}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{21, 12, 42, 15, 31}, sql.Row{10, 5, 32, 30, 48}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{19, 10, 36, 27, 5}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=80 AND v2=72 AND v3>19) OR (v1<>38 AND v2>=86 AND v3=7)) OR (v1<=52 AND v2=25 AND v3 BETWEEN 7 AND 32 AND v4<=31));`,
		Expected: []sql.Row{sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{60, 52, 72, 44, 2}, sql.Row{33, 29, 72, 97, 93}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=70) OR (v1>=38 AND v3 BETWEEN 25 AND 30));`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{93, 89, 1, 27, 50}, sql.Row{74, 70, 56, 21, 22}, sql.Row{73, 70, 40, 19, 5}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=33) OR (v1<=31 AND v4<>35 AND v2=38));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>14 AND v2<51 AND v3 BETWEEN 67 AND 78 AND v4=8) OR (v1>=44 AND v2<>35 AND v3<35 AND v4>=12)) OR (v1>=63 AND v2<=3));`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{58, 50, 97, 0, 79}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=6 AND v2<=25 AND v3>39) OR (v1 BETWEEN 17 AND 94 AND v2>96));`,
		Expected: []sql.Row{sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{29, 22, 98, 22, 21}, sql.Row{58, 50, 97, 0, 79}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((((v1>=91 AND v4<=47 AND v2>=43) OR (v1=75)) OR (v1<41 AND v4>=64 AND v2>83)) OR (v1 BETWEEN 72 AND 88 AND v2=48 AND v3<=10)) OR (v1<=44));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=31) OR (v1<84 AND v2<=73 AND v3<>2 AND v4<=51));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{56, 50, 39, 26, 37}, sql.Row{35, 33, 29, 69, 6}, sql.Row{65, 63, 50, 20, 43}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{85, 83, 37, 36, 16}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{2, 1, 43, 13, 36}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=20 AND v2<=29 AND v3<52 AND v4<>34) OR (v1<>46 AND v2<>98));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<52 AND v3 BETWEEN 39 AND 57 AND v4 BETWEEN 13 AND 13 AND v2 BETWEEN 76 AND 99) OR (v1>44)) OR (v1<71 AND v4>7 AND v2<98)) OR (v1<>5 AND v2 BETWEEN 35 AND 40 AND v3<=10));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=40) OR (v1=27)) OR (v1>90 AND v2>50 AND v3=66 AND v4<83));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1<=92 AND v4 BETWEEN 8 AND 90) AND (v1 BETWEEN 39 AND 42);`,
		Expected: []sql.Row{sql.Row{48, 41, 21, 82, 54}, sql.Row{46, 39, 45, 75, 55}, sql.Row{47, 41, 1, 85, 9}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 23 AND 85 AND v2<=51 AND v3<>68) OR (v1 BETWEEN 30 AND 58 AND v2<>75));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{79, 74, 22, 42, 16}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=67 AND v2<=17 AND v3<>91 AND v4<82) OR (v1>28 AND v2 BETWEEN 17 AND 71 AND v3<12));`,
		Expected: []sql.Row{sql.Row{43, 37, 35, 6, 44}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{93, 89, 1, 27, 50}, sql.Row{84, 82, 70, 5, 47}, sql.Row{77, 73, 10, 2, 0}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>77 AND v4>82 AND v2>=96) OR (v1 BETWEEN 41 AND 80 AND v2<>21 AND v3>60));`,
		Expected: []sql.Row{sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{67, 64, 26, 77, 97}, sql.Row{55, 50, 36, 73, 58}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1=28 AND v4 BETWEEN 44 AND 50) AND (v1>=49);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 81 AND 87 AND v3<>81 AND v4<30) AND (v1=17) OR (v1<27 AND v2<>8 AND v3>35)) OR (v1>28 AND v2<62));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>65 AND v2=64) OR (v1=82 AND v3<>99)) OR (v1>=68 AND v2=3 AND v3 BETWEEN 1 AND 51 AND v4<=73));`,
		Expected: []sql.Row{sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{84, 82, 70, 5, 47}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=27 AND v3>23) OR (v1<70 AND v2<>43));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>34 AND v2>=89 AND v3>=14) OR (v1<=42 AND v3<1)) OR (v1<59 AND v2>=23 AND v3 BETWEEN 17 AND 37 AND v4 BETWEEN 21 AND 38));`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{52, 47, 94, 56, 21}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{16, 8, 99, 43, 1}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{45, 38, 71, 22, 37}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=52 AND v2>=55) OR (v1<73 AND v2<=1 AND v3>75 AND v4<=36)) OR (v1>=45 AND v2>=49 AND v3<=26 AND v4 BETWEEN 40 AND 83));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{78, 73, 91, 56, 0}, sql.Row{91, 87, 66, 8, 22}, sql.Row{92, 88, 57, 12, 88}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{97, 93, 56, 71, 53}, sql.Row{58, 50, 97, 0, 79}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>0 AND v2=94 AND v3<>0) OR (v1>=83 AND v2<69 AND v3<84));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{52, 47, 94, 56, 21}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<83 AND v4>51) OR (v1<>30));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<92) OR (v1 BETWEEN 6 AND 39 AND v2=47 AND v3>=63));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=98) OR (v1<=2 AND v2<5));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>29 AND v4=40 AND v2>=63) OR (v1<70 AND v2<70 AND v3<=20)) OR (v1 BETWEEN 7 AND 61 AND v2>=33 AND v3>78)) OR (v1>=4 AND v2<=22));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{65, 63, 50, 20, 43}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{17, 9, 7, 74, 92}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{24, 17, 49, 14, 7}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{7, 4, 10, 53, 69}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{75, 71, 3, 49, 55}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=12) OR (v1=28));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{20, 12, 0, 33, 62}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=94 AND v2>=13 AND v3<=46 AND v4<>36) AND (v1=84) OR (v1 BETWEEN 52 AND 98 AND v2<71 AND v3<>45));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{76, 71, 48, 89, 99}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>64) OR (v1<>55 AND v2=85 AND v3<=88));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1 BETWEEN 54 AND 87 AND v2<78 AND v3<33) OR (v1<>52)) OR (v1 BETWEEN 3 AND 61 AND v4<=49)) OR (v1>3 AND v2<73 AND v3>59));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 2 AND 23) OR (v1 BETWEEN 7 AND 14 AND v2<=27 AND v3<=82)) OR (v1>61));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=31 AND v2>44) OR (v1<44 AND v4<>6 AND v2<>10 AND v3<>14)) AND (v1=96 AND v3>25 AND v4<>32);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=85 AND v2<12) AND (v1>=25);`,
		Expected: []sql.Row{sql.Row{88, 85, 2, 3, 88}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=0) OR (v1=31)) OR (v1<>73 AND v4>9 AND v2 BETWEEN 27 AND 69 AND v3=14));`,
		Expected: []sql.Row{sql.Row{0, 0, 33, 2, 67}, sql.Row{1, 0, 55, 14, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=42 AND v2=41 AND v3 BETWEEN 29 AND 94 AND v4<71) OR (v1>=71 AND v2 BETWEEN 67 AND 87 AND v3>=9)) OR (v1<2 AND v2<=1 AND v3<36 AND v4>41));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{81, 76, 74, 97, 18}, sql.Row{86, 83, 41, 53, 57}, sql.Row{100, 96, 73, 38, 38}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=3 AND v2<57 AND v3<>74 AND v4>=69) OR (v1<>66 AND v2=16)) OR (v1=44 AND v3=58));`,
		Expected: []sql.Row{sql.Row{5, 3, 31, 22, 81}, sql.Row{34, 32, 16, 97, 29}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<=22 AND v2<=41) OR (v1=61 AND v2>21)) OR (v1<>10)) OR (v1 BETWEEN 43 AND 44 AND v2>=35 AND v3<>87));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<=13 AND v3>20) OR (v1 BETWEEN 18 AND 26 AND v2>11 AND v3>22)) OR (v1<18 AND v2>=47 AND v3<11)) OR (v1>19));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 42 AND 54 AND v2>20) OR (v1<>68 AND v3>32));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{9, 5, 17, 52, 13}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{59, 51, 97, 39, 36}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 20 AND 93) AND (v1=66 AND v2<>21 AND v3 BETWEEN 43 AND 94);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>83 AND v2<>16 AND v3=22) AND (v1=34) AND (v1=79 AND v2<=45 AND v3=49);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=44 AND v2<=98) AND (v1>15) OR (v1<=45 AND v2=1 AND v3<>54));`,
		Expected: []sql.Row{sql.Row{47, 41, 1, 85, 9}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<38 AND v2>24) OR (v1<20 AND v3>=3 AND v4 BETWEEN 59 AND 81)) OR (v1<31 AND v4 BETWEEN 2 AND 16 AND v2=6 AND v3<=69));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{33, 29, 72, 97, 93}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((((v1<43 AND v4<=22) OR (v1<=72 AND v2>=35 AND v3>=96)) OR (v1=63 AND v2=55 AND v3<>46)) OR (v1>=9 AND v2=52 AND v3=86 AND v4<=27)) OR (v1 BETWEEN 37 AND 62));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=52) OR (v1>=59 AND v2<=30 AND v3=98 AND v4 BETWEEN 43 AND 74));`,
		Expected: []sql.Row{sql.Row{60, 52, 72, 44, 2}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=37 AND v3>=74 AND v4=54) OR (v1>=36 AND v3<=42 AND v4<=94)) AND (v1=59 AND v2<=56) OR (v1>=83 AND v2<=11));`,
		Expected: []sql.Row{sql.Row{88, 85, 2, 3, 88}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>39 AND v3<44 AND v4 BETWEEN 3 AND 31 AND v2>16) OR (v1>72 AND v2=73 AND v3<37 AND v4<=43)) OR (v1=9 AND v2<50));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{24, 17, 49, 14, 7}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<31 AND v2<>14 AND v3 BETWEEN 0 AND 10 AND v4>=95) OR (v1<>91)) OR (v1<>35));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>13) OR (v1<>3 AND v4<=42 AND v2 BETWEEN 89 AND 94));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<29 AND v2<=19) AND (v1>=26) OR (v1>=87 AND v2<=12 AND v3=36 AND v4<20)) AND (v1<=24 AND v4>85 AND v2 BETWEEN 1 AND 64) OR (v1>27 AND v2>=8 AND v3<24));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{83, 82, 31, 22, 99}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{39, 34, 87, 13, 51}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{37, 33, 86, 12, 22}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{58, 50, 97, 0, 79}, sql.Row{73, 70, 40, 19, 5}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<77 AND v2 BETWEEN 5 AND 22 AND v3<>91 AND v4<34) OR (v1=68 AND v2=50)) OR (v1<44 AND v2>84 AND v3<37 AND v4>=67));`,
		Expected: []sql.Row{sql.Row{40, 34, 89, 27, 90}, sql.Row{9, 5, 17, 52, 13}, sql.Row{79, 74, 22, 42, 16}, sql.Row{42, 36, 7, 40, 16}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<4 AND v2>=71) OR (v1<18 AND v2=57));`,
		Expected: []sql.Row{sql.Row{3, 1, 72, 29, 21}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>61 AND v2 BETWEEN 46 AND 51) OR (v1 BETWEEN 32 AND 75 AND v4<=32)) AND (v1>97) OR (v1<97));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 4 AND 71 AND v2<=70) AND (v1<>47 AND v2 BETWEEN 19 AND 65) OR (v1=59 AND v2 BETWEEN 25 AND 58));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{38, 34, 55, 37, 34}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<70 AND v2<=90) OR (v1<5 AND v2<>13 AND v3 BETWEEN 20 AND 96 AND v4>92)) OR (v1<>76)) OR (v1 BETWEEN 12 AND 88 AND v2 BETWEEN 53 AND 67 AND v3>=39));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1 BETWEEN 8 AND 38 AND v2<=31 AND v3 BETWEEN 30 AND 46 AND v4>=28) OR (v1<=22 AND v4<>40 AND v2>76 AND v3 BETWEEN 38 AND 42)) OR (v1<=52 AND v2<93 AND v3>=83)) OR (v1>=33 AND v3>13 AND v4>34));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{67, 64, 26, 77, 97}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{89, 86, 7, 57, 96}, sql.Row{46, 39, 45, 75, 55}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 13 AND 40 AND v2>=0) OR (v1<>3 AND v2>47 AND v3<44 AND v4>49)) OR (v1=23));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{40, 34, 89, 27, 90}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{92, 88, 57, 12, 88}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{39, 34, 87, 13, 51}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{58, 50, 97, 0, 79}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>35 AND v2<>26) OR (v1<=30 AND v2 BETWEEN 6 AND 61 AND v3<=95 AND v4>5)) AND (v1<>97) OR (v1>31));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1=43 AND v2>=64) OR (v1>6 AND v3=92 AND v4>=15)) OR (v1<=55 AND v3=6 AND v4<=77 AND v2<=3)) OR (v1=96 AND v3<=80 AND v4<=13));`,
		Expected: []sql.Row{sql.Row{50, 43, 66, 85, 66}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>8 AND v3 BETWEEN 14 AND 75 AND v4=28) AND (v1>=95 AND v2<>72 AND v3=22) OR (v1=5));`,
		Expected: []sql.Row{sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=95 AND v2<1 AND v3 BETWEEN 49 AND 61 AND v4=51) OR (v1>29 AND v2>=9 AND v3>=63 AND v4<=88));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{48, 41, 21, 82, 54}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{82, 82, 29, 66, 71}, sql.Row{55, 50, 36, 73, 58}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>30 AND v2 BETWEEN 20 AND 64) AND (v1<=29) AND (v1>=25 AND v2<>0);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=89 AND v2<=1 AND v3<=7 AND v4>=4) AND (v1<=87) OR (v1 BETWEEN 10 AND 46 AND v2 BETWEEN 18 AND 76));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{38, 34, 55, 37, 34}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=44 AND v2>=45 AND v3>=34 AND v4>1) OR (v1=33));`,
		Expected: []sql.Row{sql.Row{35, 33, 29, 69, 6}, sql.Row{36, 33, 53, 56, 88}, sql.Row{37, 33, 86, 12, 22}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<>12 AND v2<=6) OR (v1>99 AND v2<>51 AND v3=38)) OR (v1>60)) OR (v1 BETWEEN 69 AND 77 AND v2>=49 AND v3>=43));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{47, 41, 1, 85, 9}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 49 AND 53 AND v4 BETWEEN 22 AND 96) OR (v1 BETWEEN 7 AND 79)) AND (v1<=45 AND v2<=11) OR (v1 BETWEEN 16 AND 65 AND v2<53 AND v3<>15 AND v4>22));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{67, 64, 26, 77, 97}, sql.Row{17, 9, 7, 74, 92}, sql.Row{31, 24, 26, 69, 25}, sql.Row{55, 50, 36, 73, 58}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{51, 45, 9, 76, 9}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<11) OR (v1<=38 AND v2>=93 AND v3<=34 AND v4>7));`,
		Expected: []sql.Row{sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=97 AND v3<>2) OR (v1=49 AND v2 BETWEEN 29 AND 30 AND v3<>97));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=64) OR (v1>21 AND v2 BETWEEN 0 AND 58)) OR (v1<15 AND v4 BETWEEN 63 AND 76 AND v2>84));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 24 AND 98 AND v2>0 AND v3>=87) OR (v1 BETWEEN 2 AND 3 AND v2 BETWEEN 15 AND 78));`,
		Expected: []sql.Row{sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{5, 3, 31, 22, 81}, sql.Row{34, 32, 16, 97, 29}, sql.Row{64, 57, 25, 97, 65}, sql.Row{33, 29, 72, 97, 93}, sql.Row{71, 67, 39, 87, 15}, sql.Row{32, 24, 45, 96, 0}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<>37) OR (v1<=94 AND v2 BETWEEN 53 AND 65 AND v3>=9)) OR (v1<10 AND v3<>26 AND v4<91)) OR (v1<>21 AND v2<>24 AND v3<46));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>21 AND v2>27 AND v3>=97 AND v4 BETWEEN 25 AND 67) OR (v1>=66 AND v2<=56)) OR (v1=37));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{76, 71, 48, 89, 99}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=43 AND v2<48 AND v3<16 AND v4<=75) OR (v1<71));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>91 AND v2=91 AND v3>=15) OR (v1 BETWEEN 16 AND 30)) OR (v1<>27 AND v4=62));`,
		Expected: []sql.Row{sql.Row{20, 12, 0, 33, 62}, sql.Row{28, 22, 21, 28, 78}, sql.Row{78, 73, 91, 56, 0}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{33, 29, 72, 97, 93}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=54 AND v3>26 AND v4>30 AND v2 BETWEEN 3 AND 8) OR (v1>8 AND v2<=43 AND v3<>97));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{55, 50, 36, 73, 58}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=38 AND v2<>11 AND v3>=26) OR (v1 BETWEEN 37 AND 90 AND v4<85 AND v2<0)) OR (v1<>23));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<20 AND v2<>84 AND v3<25 AND v4>=93) OR (v1<13));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{20, 12, 0, 33, 62}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=81 AND v2 BETWEEN 55 AND 77 AND v3=64) OR (v1=20 AND v2=21));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>30 AND v2 BETWEEN 58 AND 72 AND v3<=35) OR (v1 BETWEEN 28 AND 28 AND v2>=76)) OR (v1=74 AND v2<26));`,
		Expected: []sql.Row{sql.Row{91, 87, 66, 8, 22}, sql.Row{79, 74, 22, 42, 16}, sql.Row{84, 82, 70, 5, 47}, sql.Row{45, 38, 71, 22, 37}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>5 AND v2>8) OR (v1>78 AND v2<=39 AND v3>=41 AND v4<=35)) AND (v1<=11 AND v2<35 AND v3<=10 AND v4<76) OR (v1>=22)) OR (v1=1 AND v4<>29 AND v2 BETWEEN 64 AND 81 AND v3>46));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=49) OR (v1<43 AND v2>=34));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{1, 0, 55, 14, 32}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{32, 24, 45, 96, 0}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>=72) OR (v1<>17)) OR (v1=47 AND v2<>1 AND v3 BETWEEN 75 AND 78 AND v4 BETWEEN 10 AND 44)) OR (v1>=64 AND v2>=74 AND v3=10 AND v4 BETWEEN 11 AND 93));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<2 AND v2<>94) OR (v1<>76 AND v2=27 AND v3<=31 AND v4<38));`,
		Expected: []sql.Row{sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<>11 AND v2>47 AND v3>=67 AND v4=29) OR (v1>=59 AND v3 BETWEEN 4 AND 29 AND v4>=65 AND v2<>96)) OR (v1<=62)) OR (v1<61 AND v2<>28 AND v3<>8 AND v4<>30));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{83, 82, 31, 22, 99}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 36 AND 72) OR (v1<>48 AND v4>91 AND v2<5 AND v3>=38)) OR (v1<>17 AND v3=50));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{67, 64, 26, 77, 97}, sql.Row{66, 64, 23, 33, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<86) OR (v1<=5 AND v2<25 AND v3<>24)) OR (v1<32 AND v3 BETWEEN 51 AND 54 AND v4<=70));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<=6) OR (v1 BETWEEN 24 AND 89)) OR (v1<87 AND v2=35 AND v3=19)) AND (v1>94 AND v2=33 AND v3>28) OR (v1 BETWEEN 36 AND 40));`,
		Expected: []sql.Row{sql.Row{43, 37, 35, 6, 44}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{45, 38, 71, 22, 37}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=24 AND v2=61 AND v3<49 AND v4<82) OR (v1<4 AND v2>51 AND v3=9));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 0 AND 87 AND v2>=44 AND v3<>68 AND v4=50) OR (v1<1 AND v4<66 AND v2<11 AND v3<>44));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1<17 AND v2<54) AND (v1>=70 AND v2 BETWEEN 53 AND 53 AND v3>10 AND v4=17);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1=21 AND v2>25 AND v3>=7) OR (v1 BETWEEN 23 AND 88 AND v2<=26 AND v3>=87 AND v4 BETWEEN 42 AND 95)) OR (v1<4 AND v2>=66 AND v3<=24 AND v4=10)) OR (v1>69));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{73, 70, 40, 19, 5}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 0 AND 39) OR (v1<18 AND v4>=90));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<99 AND v2>1 AND v3<=56) OR (v1>36 AND v2=53 AND v3>17)) OR (v1<>71)) AND (v1 BETWEEN 2 AND 86 AND v2<>78 AND v3<>29 AND v4<>63);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=5) OR (v1=53));`,
		Expected: []sql.Row{sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{8, 4, 27, 77, 5}, sql.Row{5, 3, 31, 22, 81}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{7, 4, 10, 53, 69}, sql.Row{61, 53, 6, 53, 89}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<>12 AND v2 BETWEEN 27 AND 46 AND v3 BETWEEN 19 AND 27 AND v4>=50) OR (v1 BETWEEN 17 AND 88)) OR (v1<=36 AND v2<=37 AND v3<64)) OR (v1<>82 AND v2>84 AND v3>=90)) AND (v1>34 AND v3>4);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{91, 87, 66, 8, 22}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=82) OR (v1<=95 AND v2<>23 AND v3<18 AND v4<>50));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{24, 17, 49, 14, 7}, sql.Row{39, 34, 87, 13, 51}, sql.Row{70, 66, 97, 6, 39}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{37, 33, 86, 12, 22}, sql.Row{30, 23, 43, 13, 11}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{58, 50, 97, 0, 79}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=51) AND (v1=55 AND v2>=59 AND v3>=49) OR (v1>5 AND v2<34));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>4 AND v2<=21 AND v3>=15) OR (v1=93 AND v2>=1 AND v3<>63)) OR (v1 BETWEEN 24 AND 86 AND v3<=5));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{28, 22, 21, 28, 78}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{17, 9, 7, 74, 92}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{58, 50, 97, 0, 79}, sql.Row{18, 9, 19, 38, 35}, sql.Row{61, 53, 6, 53, 89}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<63 AND v2<>32 AND v3>=14) OR (v1=18 AND v3 BETWEEN 4 AND 42 AND v4>10)) OR (v1<23 AND v2>=21));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>34 AND v3 BETWEEN 27 AND 48 AND v4<=11 AND v2>42) AND (v1<>47 AND v2<48 AND v3<=47 AND v4<>12) OR (v1<=36 AND v2<>17));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=34 AND v2<=80 AND v3<=27) AND (v1 BETWEEN 0 AND 33) OR (v1<=56 AND v2=50 AND v3 BETWEEN 0 AND 5 AND v4<>31));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=93 AND v2<>5) OR (v1>=81 AND v4=9 AND v2>33 AND v3<99));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=37 AND v2=4 AND v3=3) AND (v1=12 AND v2>9 AND v3<89 AND v4<>12) OR (v1=1 AND v2=43 AND v3<=2));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=82) OR (v1<=4 AND v2>=51)) OR (v1=58 AND v4<86));`,
		Expected: []sql.Row{sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{84, 82, 70, 5, 47}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>=42 AND v4<85 AND v2<8 AND v3<3) OR (v1>=78 AND v2<>28 AND v3<52)) OR (v1<8 AND v2<>76 AND v3 BETWEEN 36 AND 70)) OR (v1=70));`,
		Expected: []sql.Row{sql.Row{90, 87, 23, 16, 63}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{93, 89, 1, 27, 50}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{7, 4, 10, 53, 69}, sql.Row{73, 70, 40, 19, 5}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>69) OR (v1>=43));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 39 AND 76 AND v4>16 AND v2<>15 AND v3<>35) AND (v1<>50 AND v2>21 AND v3 BETWEEN 27 AND 90 AND v4>18) OR (v1<25 AND v4=58));`,
		Expected: []sql.Row{sql.Row{76, 71, 48, 89, 99}, sql.Row{52, 47, 94, 56, 21}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{67, 64, 26, 77, 97}, sql.Row{59, 51, 97, 39, 36}, sql.Row{46, 39, 45, 75, 55}, sql.Row{50, 43, 66, 85, 66}, sql.Row{63, 55, 31, 29, 92}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=62) OR (v1 BETWEEN 24 AND 36 AND v2>=94 AND v3 BETWEEN 10 AND 55 AND v4>=89));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=31) OR (v1<=95 AND v2<=26 AND v3 BETWEEN 40 AND 72)) OR (v1<51 AND v2=23));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{9, 5, 17, 52, 13}, sql.Row{31, 24, 26, 69, 25}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{7, 4, 10, 53, 69}, sql.Row{61, 53, 6, 53, 89}, sql.Row{75, 71, 3, 49, 55}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=3) OR (v1>40)) AND (v1>66 AND v2>33);`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{78, 73, 91, 56, 0}, sql.Row{91, 87, 66, 8, 22}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=69 AND v2=61 AND v3=87 AND v4 BETWEEN 63 AND 87) OR (v1 BETWEEN 48 AND 62)) OR (v1<>81 AND v2<=67 AND v3<>43));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{59, 51, 97, 39, 36}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=19) AND (v1<=20 AND v2>=2) OR (v1 BETWEEN 12 AND 53 AND v4>=1 AND v2<43 AND v3<59));`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=42 AND v2<=65) AND (v1<=21) OR (v1<=14 AND v2<>1 AND v3<62));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{20, 12, 0, 33, 62}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>5) OR (v1<96 AND v2>=14)) OR (v1<>96)) AND (v1<>51 AND v3>41);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{9, 5, 17, 52, 13}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{86, 83, 41, 53, 57}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{13, 7, 21, 75, 70}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>97 AND v3<>77 AND v4=30 AND v2<>45) OR (v1=36 AND v2<77 AND v3>94)) OR (v1=26));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 34 AND 37 AND v3>23 AND v4>31) OR (v1 BETWEEN 43 AND 81 AND v3>=54 AND v4>=72));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{40, 34, 89, 27, 90}, sql.Row{76, 71, 48, 89, 99}, sql.Row{68, 64, 41, 74, 85}, sql.Row{67, 64, 26, 77, 97}, sql.Row{38, 34, 55, 37, 34}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=17 AND v2<>19) OR (v1>45));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=57) OR (v1>=1 AND v2<=5 AND v3>=10 AND v4<5)) OR (v1>55));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=23 AND v2<=48) OR (v1>41 AND v2>=46 AND v3 BETWEEN 11 AND 29)) AND (v1<>11) OR (v1=70 AND v3<54 AND v4<=47 AND v2<>62));`,
		Expected: []sql.Row{sql.Row{65, 63, 50, 20, 43}, sql.Row{62, 53, 48, 19, 36}, sql.Row{92, 88, 57, 12, 88}, sql.Row{74, 70, 56, 21, 22}, sql.Row{30, 23, 43, 13, 11}, sql.Row{73, 70, 40, 19, 5}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>73) OR (v1>5 AND v2>=7 AND v3>=43 AND v4<=53)) OR (v1<34 AND v2<95 AND v3 BETWEEN 9 AND 81 AND v4<>8)) AND (v1<=68 AND v4>48 AND v2>11 AND v3 BETWEEN 17 AND 89) OR (v1=41 AND v2 BETWEEN 56 AND 93));`,
		Expected: []sql.Row{sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{15, 8, 54, 46, 87}, sql.Row{36, 33, 53, 56, 88}, sql.Row{5, 3, 31, 22, 81}, sql.Row{13, 7, 21, 75, 70}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>3 AND v3>=34) OR (v1<>31 AND v2<16 AND v3<8));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{86, 83, 41, 53, 57}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{59, 51, 97, 39, 36}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 88 AND 97) OR (v1>67 AND v4<=27 AND v2<5 AND v3>40)) OR (v1 BETWEEN 5 AND 83 AND v2>=34 AND v3=59));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{93, 89, 1, 27, 50}, sql.Row{94, 89, 91, 7, 45}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>96 AND v2<=2 AND v3=17 AND v4<79) OR (v1=67 AND v2=30 AND v3=38 AND v4=53));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>45 AND v2>76) OR (v1=30 AND v2=53));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{52, 47, 94, 56, 21}, sql.Row{72, 69, 81, 70, 37}, sql.Row{78, 73, 91, 56, 0}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{57, 50, 79, 10, 12}, sql.Row{37, 33, 86, 12, 22}, sql.Row{58, 50, 97, 0, 79}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 3 AND 34 AND v2>39) OR (v1>1 AND v2>=92 AND v3=99)) OR (v1>=36 AND v2<>65 AND v3=69));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{30, 23, 43, 13, 11}, sql.Row{33, 29, 72, 97, 93}, sql.Row{32, 24, 45, 96, 0}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=54 AND v2=38 AND v3>=64 AND v4>36) OR (v1<=48)) OR (v1<37 AND v2=13 AND v3<20));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>70) OR (v1<>2 AND v2>79 AND v3<>6 AND v4<>42));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>46 AND v2>93 AND v3>19) AND (v1<51 AND v2=39) OR (v1<61)) AND (v1<>22);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=53 AND v2>0 AND v3=95 AND v4<=2) OR (v1<41 AND v4<10 AND v2 BETWEEN 11 AND 35)) OR (v1=11 AND v2<20 AND v3=51 AND v4<>30));`,
		Expected: []sql.Row{sql.Row{35, 33, 29, 69, 6}, sql.Row{8, 4, 27, 77, 5}, sql.Row{27, 21, 21, 32, 8}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=32 AND v2>6 AND v3=55) OR (v1=87 AND v2<=80)) OR (v1=88 AND v2<=87 AND v3>=45));`,
		Expected: []sql.Row{sql.Row{90, 87, 23, 16, 63}, sql.Row{91, 87, 66, 8, 22}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>8) OR (v1 BETWEEN 16 AND 25 AND v2<>79 AND v3>=55 AND v4<=5));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=45 AND v2>55 AND v3<90) OR (v1>26 AND v2>=2 AND v3<>85 AND v4<=74));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=59) OR (v1<>85 AND v4<6 AND v2 BETWEEN 14 AND 82));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{66, 64, 23, 33, 5}, sql.Row{8, 4, 27, 77, 5}, sql.Row{60, 52, 72, 44, 2}, sql.Row{19, 10, 36, 27, 5}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=94 AND v2>32 AND v3>61) OR (v1>51 AND v4>84 AND v2>=46)) OR (v1=39));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{76, 71, 48, 89, 99}, sql.Row{92, 88, 57, 12, 88}, sql.Row{46, 39, 45, 75, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=89) OR (v1<=28 AND v2=13));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{93, 89, 1, 27, 50}, sql.Row{94, 89, 91, 7, 45}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=5 AND v2<65 AND v3<64 AND v4=81) OR (v1<=75)) AND (v1=87);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=31 AND v4>30 AND v2<>38) OR (v1<>35)) OR (v1<=8 AND v2<43 AND v3<=50 AND v4<=33));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((((v1>65 AND v2=89 AND v3>12) OR (v1 BETWEEN 37 AND 75 AND v2=42 AND v3<=14)) OR (v1>=87 AND v2=85)) OR (v1<>48 AND v4 BETWEEN 32 AND 33 AND v2>21 AND v3<=25)) OR (v1 BETWEEN 51 AND 88 AND v2<>67));`,
		Expected: []sql.Row{sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{91, 87, 66, 8, 22}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{84, 82, 70, 5, 47}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>82) OR (v1<1 AND v3>=22)) AND (v1=4) OR (v1>27 AND v2 BETWEEN 7 AND 79 AND v3 BETWEEN 9 AND 29 AND v4<85));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{56, 50, 39, 26, 37}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{45, 38, 71, 22, 37}, sql.Row{73, 70, 40, 19, 5}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=41 AND v2<13 AND v3 BETWEEN 62 AND 87) AND (v1<=67 AND v2>68 AND v3=56 AND v4>28);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 23 AND 34 AND v2 BETWEEN 4 AND 75 AND v3<91) OR (v1>=31));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<59) OR (v1 BETWEEN 6 AND 86 AND v4<97)) OR (v1<>90 AND v2=43 AND v3=29));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=1 AND v2<34) OR (v1<78));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=10 AND v2<>64 AND v3>25 AND v4<29) OR (v1>39));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>35 AND v2>=14 AND v3<65 AND v4<>9) OR (v1<>14 AND v3<51 AND v4<32)) OR (v1>=21 AND v3<>25 AND v4<>16));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>12 AND v2<0) OR (v1=36 AND v3<37));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1=83 AND v3>=72 AND v4<=74) AND (v1>61 AND v2 BETWEEN 32 AND 44);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1=78 AND v2>28 AND v3<=47) AND (v1<35 AND v2=69 AND v3>16);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 31 AND 49 AND v2=20 AND v3 BETWEEN 8 AND 46) AND (v1<>57 AND v2<5);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=39 AND v2<>3) OR (v1=97 AND v2<>37));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=19 AND v4<>62 AND v2<>19 AND v3<>29) OR (v1 BETWEEN 37 AND 75 AND v4<23 AND v2 BETWEEN 6 AND 43));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<8 AND v2<=33 AND v3 BETWEEN 54 AND 85) OR (v1=46));`,
		Expected: []sql.Row{sql.Row{8, 4, 27, 77, 5}, sql.Row{12, 7, 7, 66, 62}, sql.Row{13, 7, 21, 75, 70}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=69 AND v2<8) AND (v1>=34 AND v2>=99 AND v3>96 AND v4 BETWEEN 36 AND 99) OR (v1=0 AND v2>=71));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 20 AND 54 AND v2<>31 AND v3 BETWEEN 15 AND 21) OR (v1<=46 AND v3>76)) OR (v1 BETWEEN 31 AND 71));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{67, 64, 26, 77, 97}, sql.Row{66, 64, 23, 33, 5}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>37 AND v2<>5 AND v3=8 AND v4 BETWEEN 26 AND 50) OR (v1>=53)) AND (v1 BETWEEN 5 AND 80);`,
		Expected: []sql.Row{sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{67, 64, 26, 77, 97}, sql.Row{66, 64, 23, 33, 5}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{74, 70, 56, 21, 22}, sql.Row{64, 57, 25, 97, 65}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=25) OR (v1<=87));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{91, 87, 66, 8, 22}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=99 AND v2>=85) AND (v1<=83 AND v2=99) OR (v1<=6 AND v2 BETWEEN 36 AND 68 AND v3>62 AND v4=79));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 30 AND 32 AND v2<68 AND v3<24) AND (v1>=32);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>62 AND v2>0) OR (v1<>80 AND v2>55 AND v3=10 AND v4=91));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=7 AND v2 BETWEEN 55 AND 81) OR (v1<>56 AND v2<=76 AND v3<>36)) AND (v1<56 AND v2<>69 AND v3=25);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>18) OR (v1>=42 AND v2<=65 AND v3=87 AND v4=80));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=27) OR (v1<23 AND v2>=41));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{20, 12, 0, 33, 62}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>71 AND v4>0) OR (v1<48 AND v2=89 AND v3>=46 AND v4<=32)) OR (v1<62 AND v2>=33 AND v3>58)) OR (v1>=31 AND v3<>71));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 9 AND 40 AND v3<=43 AND v4=62 AND v2>=43) OR (v1=61 AND v2>12 AND v3 BETWEEN 0 AND 13 AND v4>=8));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<58) OR (v1 BETWEEN 17 AND 20 AND v2<>99 AND v3<=76)) OR (v1 BETWEEN 48 AND 87)) OR (v1<39 AND v2 BETWEEN 48 AND 94 AND v3<>0));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{91, 87, 66, 8, 22}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=33) OR (v1 BETWEEN 7 AND 41 AND v2<82 AND v3<53 AND v4<>3));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=9 AND v4=22 AND v2>=95) OR (v1>96));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=56) OR (v1>=31 AND v4<38 AND v2>20)) OR (v1=91 AND v2<48));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=75 AND v4<=30) OR (v1>=41 AND v2 BETWEEN 16 AND 25 AND v3>=99));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{78, 73, 91, 56, 0}, sql.Row{9, 5, 17, 52, 13}, sql.Row{66, 64, 23, 33, 5}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{16, 8, 99, 43, 1}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 2 AND 64) OR (v1>=23));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=26 AND v2<1 AND v3=82 AND v4<=42) OR (v1 BETWEEN 42 AND 73));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{67, 64, 26, 77, 97}, sql.Row{66, 64, 23, 33, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{53, 48, 3, 11, 18}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=23 AND v2<=10) AND (v1>=75 AND v4 BETWEEN 24 AND 68) AND (v1>44 AND v2>8 AND v3<=16);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((((v1>6 AND v2>61 AND v3=0 AND v4>=76) OR (v1<23)) OR (v1<>46 AND v2=29 AND v3>4)) OR (v1>=59)) OR (v1=87 AND v2<=98 AND v3>=47));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=59 AND v2 BETWEEN 15 AND 53 AND v3<>17 AND v4>=10) OR (v1 BETWEEN 37 AND 95 AND v2<=32 AND v3>=81));`,
		Expected: []sql.Row{sql.Row{48, 41, 21, 82, 54}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 6 AND 92 AND v2=75 AND v3>79) OR (v1>=10)) OR (v1<=35 AND v2<=42)) AND (v1<>65);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>84 AND v4<=53 AND v2=77 AND v3>=40) OR (v1>78 AND v2<>1 AND v3=98 AND v4>=76));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>79 AND v2<=85) OR (v1<>13)) OR (v1 BETWEEN 4 AND 67));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>34) OR (v1<35 AND v2>=93)) OR (v1>8));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((((v1<65) OR (v1<>44)) OR (v1<=39 AND v3>=14)) OR (v1<=33 AND v2<>11)) OR (v1=75 AND v2=0 AND v3<28));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>50 AND v2>=46) AND (v1<>17 AND v2=45 AND v3<=79) OR (v1=10 AND v2>=35)) AND (v1=44 AND v2=38);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<34) OR (v1<=62 AND v4<>18 AND v2 BETWEEN 1 AND 41)) OR (v1>=65 AND v2>=93 AND v3 BETWEEN 34 AND 41));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>8) OR (v1>20 AND v4>=99));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>57) OR (v1<87 AND v2<>91 AND v3 BETWEEN 47 AND 98));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{46, 39, 45, 75, 55}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=57) OR (v1=88 AND v2 BETWEEN 72 AND 93));`,
		Expected: []sql.Row{sql.Row{64, 57, 25, 97, 65}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>10 AND v2=20 AND v3<=21 AND v4<>88) OR (v1<28 AND v2 BETWEEN 38 AND 59 AND v3<>98 AND v4>=26));`,
		Expected: []sql.Row{sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{1, 0, 55, 14, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>5 AND v3<>53 AND v4>=49) OR (v1<18 AND v2<94));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{46, 39, 45, 75, 55}, sql.Row{25, 17, 75, 86, 18}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<52 AND v2 BETWEEN 33 AND 75 AND v3=32) OR (v1<=98 AND v2<=41 AND v3<>87 AND v4<>83));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>28 AND v4>57 AND v2<62 AND v3 BETWEEN 14 AND 41) AND (v1<>72 AND v2>=13 AND v3>29 AND v4>38) OR (v1<=22 AND v2>58));`,
		Expected: []sql.Row{sql.Row{11, 5, 76, 70, 46}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{25, 17, 75, 86, 18}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=13 AND v2<=52 AND v3=28 AND v4>88) OR (v1<>5 AND v2<=42));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>35 AND v4<>20 AND v2<81 AND v3=27) OR (v1>13 AND v3=27));`,
		Expected: []sql.Row{sql.Row{40, 34, 89, 27, 90}, sql.Row{93, 89, 1, 27, 50}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=26) OR (v1<59 AND v2 BETWEEN 2 AND 30 AND v3>=69));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<11) OR (v1<>9 AND v2 BETWEEN 51 AND 62 AND v3=98));`,
		Expected: []sql.Row{sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=92 AND v2>25) OR (v1=91 AND v2=21 AND v3<=18 AND v4<>15)) OR (v1=79 AND v2>67 AND v3<>48 AND v4<42));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=86 AND v2<5 AND v3<36 AND v4<81) OR (v1>=52 AND v2>24 AND v3<5)) OR (v1 BETWEEN 5 AND 80 AND v3<>80));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>67) OR (v1>69 AND v2>11 AND v3=13 AND v4=20));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{73, 70, 40, 19, 5}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>31) OR (v1 BETWEEN 27 AND 87 AND v2=71 AND v3=38 AND v4=1));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>2 AND v4=0 AND v2 BETWEEN 6 AND 23 AND v3 BETWEEN 46 AND 52) OR (v1<=63 AND v2>=71 AND v3=28)) AND (v1<=52);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 10 AND 90) AND (v1=86 AND v4>=4) AND (v1 BETWEEN 6 AND 58 AND v2=85);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=46 AND v4>41 AND v2<>12) OR (v1>17 AND v2>=34 AND v3<>68 AND v4<=13)) OR (v1>=98 AND v4 BETWEEN 3 AND 62 AND v2=39));`,
		Expected: []sql.Row{sql.Row{78, 73, 91, 56, 0}, sql.Row{57, 50, 79, 10, 12}, sql.Row{44, 37, 41, 36, 10}, sql.Row{30, 23, 43, 13, 11}, sql.Row{60, 52, 72, 44, 2}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=12 AND v2<>4 AND v3 BETWEEN 18 AND 42) OR (v1>=73)) OR (v1<60 AND v2=93 AND v3>=79));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{10, 5, 32, 30, 48}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{18, 9, 19, 38, 35}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=55 AND v2>50) OR (v1<>51 AND v2>=37));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{21, 12, 42, 15, 31}, sql.Row{91, 87, 66, 8, 22}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{30, 23, 43, 13, 11}, sql.Row{60, 52, 72, 44, 2}, sql.Row{97, 93, 56, 71, 53}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 66 AND 76 AND v2>=84 AND v3>1 AND v4 BETWEEN 71 AND 95) AND (v1>36 AND v2<>41) OR (v1<44 AND v2<=50 AND v3=36 AND v4<=42));`,
		Expected: []sql.Row{sql.Row{44, 37, 41, 36, 10}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=21 AND v2=44 AND v3>=68) OR (v1>=38 AND v2>=15));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{46, 39, 45, 75, 55}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{45, 38, 71, 22, 37}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1<>37 AND v2>67 AND v3>52) AND (v1<48 AND v2<>73 AND v3=25 AND v4=22);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 57 AND 62 AND v2>=99) OR (v1>31));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>22 AND v3<>49) OR (v1>=41 AND v2<=74 AND v3<=46));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=82 AND v4<=67 AND v2=40) OR (v1>63)) OR (v1<=16));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<=39 AND v2<>82 AND v3>=33 AND v4>=84) OR (v1=57 AND v2<25 AND v3<>55 AND v4<=82)) OR (v1>10 AND v2>28 AND v3>=65)) OR (v1<=13 AND v2=66));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{82, 82, 29, 66, 71}, sql.Row{17, 9, 7, 74, 92}, sql.Row{15, 8, 54, 46, 87}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{46, 39, 45, 75, 55}, sql.Row{25, 17, 75, 86, 18}, sql.Row{97, 93, 56, 71, 53}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{32, 24, 45, 96, 0}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=60 AND v2<=25 AND v3<>9) OR (v1 BETWEEN 19 AND 92 AND v2>=33 AND v3<=40 AND v4=53));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{28, 22, 21, 28, 78}, sql.Row{9, 5, 17, 52, 13}, sql.Row{17, 9, 7, 74, 92}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{51, 45, 9, 76, 9}, sql.Row{18, 9, 19, 38, 35}, sql.Row{61, 53, 6, 53, 89}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=21 AND v2<=27 AND v3>=86 AND v4>99) OR (v1<76 AND v2<>97));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 4 AND 8 AND v3>=12) OR (v1>=12 AND v2>=0 AND v3=18));`,
		Expected: []sql.Row{sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{15, 8, 54, 46, 87}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{12, 7, 7, 66, 62}, sql.Row{13, 7, 21, 75, 70}, sql.Row{7, 4, 10, 53, 69}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>65 AND v2<=52 AND v3>37) OR (v1>11)) OR (v1<=54 AND v2 BETWEEN 30 AND 85 AND v3 BETWEEN 14 AND 27 AND v4>=35)) OR (v1>44 AND v2<>76 AND v3>=52));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=54) OR (v1<17 AND v2=34 AND v3>=59));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>9 AND v4<>61 AND v2=98 AND v3<1) OR (v1<2 AND v2 BETWEEN 3 AND 70));`,
		Expected: []sql.Row{sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{1, 0, 55, 14, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=6 AND v2>93) OR (v1 BETWEEN 38 AND 46));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{46, 39, 45, 75, 55}, sql.Row{47, 41, 1, 85, 9}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1 BETWEEN 16 AND 72) OR (v1=20)) OR (v1>61 AND v2<>48 AND v3<>83 AND v4=46)) OR (v1=5 AND v2=59));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{67, 64, 26, 77, 97}, sql.Row{66, 64, 23, 33, 5}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>41 AND v2>74 AND v3>37 AND v4<38) OR (v1=58 AND v2>=1)) OR (v1<=4 AND v2>0 AND v3 BETWEEN 39 AND 72 AND v4>=29));`,
		Expected: []sql.Row{sql.Row{52, 47, 94, 56, 21}, sql.Row{72, 69, 81, 70, 37}, sql.Row{78, 73, 91, 56, 0}, sql.Row{59, 51, 97, 39, 36}, sql.Row{7, 4, 10, 53, 69}, sql.Row{69, 64, 77, 41, 17}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>53 AND v4<99 AND v2<>31) OR (v1<>5 AND v2>70 AND v3>=71));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>1 AND v4=93) OR (v1<10 AND v2 BETWEEN 40 AND 74 AND v3>=27));`,
		Expected: []sql.Row{sql.Row{15, 8, 54, 46, 87}, sql.Row{3, 1, 72, 29, 21}, sql.Row{33, 29, 72, 97, 93}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=92 AND v2>=64 AND v3=39 AND v4 BETWEEN 16 AND 53) OR (v1<54 AND v2 BETWEEN 8 AND 17 AND v3=21 AND v4=86));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 16 AND 31 AND v4 BETWEEN 18 AND 96) OR (v1=40 AND v2<=35 AND v3>=51 AND v4>=83));`,
		Expected: []sql.Row{sql.Row{28, 22, 21, 28, 78}, sql.Row{31, 24, 26, 69, 25}, sql.Row{29, 22, 98, 22, 21}, sql.Row{25, 17, 75, 86, 18}, sql.Row{33, 29, 72, 97, 93}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 68 AND 78 AND v2>96 AND v3<58 AND v4<14) OR (v1=71)) AND (v1>15 AND v2>=19) OR (v1>36));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 33 AND 71 AND v2<=61 AND v3<=32 AND v4 BETWEEN 18 AND 73) AND (v1<3) AND (v1<=59 AND v2=47 AND v3<49 AND v4>36);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<77 AND v2=43 AND v3<92 AND v4=13) OR (v1=38 AND v2<=46)) OR (v1 BETWEEN 10 AND 79 AND v2>=11 AND v3 BETWEEN 14 AND 14));`,
		Expected: []sql.Row{sql.Row{24, 17, 49, 14, 7}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=47 AND v4=13) AND (v1<=27 AND v3<54 AND v4 BETWEEN 27 AND 40) OR (v1>=40 AND v4=98 AND v2=25 AND v3>66));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<98 AND v3 BETWEEN 80 AND 82) OR (v1 BETWEEN 31 AND 38 AND v2=39));`,
		Expected: []sql.Row{sql.Row{48, 41, 21, 82, 54}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=75 AND v2 BETWEEN 45 AND 51 AND v3<15) OR (v1>=74 AND v2>=37 AND v3<76));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{91, 87, 66, 8, 22}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{94, 89, 91, 7, 45}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=40) OR (v1<>32 AND v4<=37));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>63 AND v3 BETWEEN 43 AND 50 AND v4<29 AND v2>=89) OR (v1>80));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=81) OR (v1>=27 AND v2>=21 AND v3 BETWEEN 1 AND 63 AND v4>=92));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>13) OR (v1>72 AND v2=2 AND v3<=40)) OR (v1>77 AND v2<21));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>54 AND v2>23 AND v3 BETWEEN 28 AND 48 AND v4>=37) OR (v1>93 AND v2>=51 AND v3<9 AND v4<>49)) OR (v1>=71 AND v2<>33));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{10, 5, 32, 30, 48}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 15 AND 69 AND v4=83 AND v2<=43) OR (v1<51 AND v2<24 AND v3<>27 AND v4<>50)) OR (v1<>37));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 55 AND 66 AND v2<>81 AND v3=6 AND v4<=19) OR (v1<>91));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=21 AND v2<50 AND v3>=39) OR (v1<=79 AND v4>62 AND v2=31));`,
		Expected: []sql.Row{sql.Row{5, 3, 31, 22, 81}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>78) OR (v1>=9 AND v2<>84));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>16 AND v3>=29) OR (v1>=47 AND v2<>63));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=16 AND v2>=9 AND v3<>48) OR (v1>=76 AND v2<>86)) OR (v1<28 AND v2=1 AND v3<=23 AND v4 BETWEEN 13 AND 55));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{81, 76, 74, 97, 18}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=35 AND v2>67) OR (v1<>55));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<89 AND v2<5 AND v3 BETWEEN 53 AND 61) OR (v1<>72 AND v3<20));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{24, 17, 49, 14, 7}, sql.Row{39, 34, 87, 13, 51}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{37, 33, 86, 12, 22}, sql.Row{30, 23, 43, 13, 11}, sql.Row{77, 73, 10, 2, 0}, sql.Row{58, 50, 97, 0, 79}, sql.Row{73, 70, 40, 19, 5}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=58 AND v2<=89 AND v3=78 AND v4<=58) OR (v1>39)) AND (v1<>25 AND v2>1 AND v3<18);`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{90, 87, 23, 16, 63}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{77, 73, 10, 2, 0}, sql.Row{58, 50, 97, 0, 79}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>94) OR (v1=33 AND v2 BETWEEN 53 AND 60 AND v3 BETWEEN 37 AND 73));`,
		Expected: []sql.Row{sql.Row{36, 33, 53, 56, 88}, sql.Row{100, 96, 73, 38, 38}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=40 AND v2<>8 AND v3<=69) OR (v1<=72)) OR (v1 BETWEEN 87 AND 89 AND v2 BETWEEN 52 AND 58));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<9 AND v2=97 AND v3<>54 AND v4>71) OR (v1>48 AND v2 BETWEEN 7 AND 23 AND v3<>95 AND v4>86)) OR (v1 BETWEEN 36 AND 90));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=38 AND v2<70) OR (v1>79));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<47 AND v2 BETWEEN 22 AND 85) AND (v1=73) OR (v1<42));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<29) AND (v1<41 AND v2>52 AND v3<>55) OR (v1 BETWEEN 16 AND 28 AND v2>=9 AND v3=43 AND v4<6));`,
		Expected: []sql.Row{sql.Row{11, 5, 76, 70, 46}, sql.Row{15, 8, 54, 46, 87}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{25, 17, 75, 86, 18}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<56 AND v2<=52) OR (v1>=30 AND v2<73 AND v3>40 AND v4>=13)) AND (v1<30 AND v4<>25 AND v2<>82 AND v3 BETWEEN 80 AND 88);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 9 AND 53 AND v2 BETWEEN 26 AND 56) OR (v1 BETWEEN 29 AND 72 AND v2<18 AND v3=73 AND v4<=12));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{56, 50, 39, 26, 37}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{21, 12, 42, 15, 31}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{38, 34, 55, 37, 34}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>96 AND v2<27) OR (v1<82)) AND (v1>=80 AND v2 BETWEEN 14 AND 53);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>86) OR (v1>=48 AND v4>9));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=41 AND v2=79 AND v3<16 AND v4>=2) OR (v1<16 AND v4>59));`,
		Expected: []sql.Row{sql.Row{20, 12, 0, 33, 62}, sql.Row{23, 15, 42, 17, 60}, sql.Row{17, 9, 7, 74, 92}, sql.Row{0, 0, 33, 2, 67}, sql.Row{15, 8, 54, 46, 87}, sql.Row{5, 3, 31, 22, 81}, sql.Row{12, 7, 7, 66, 62}, sql.Row{13, 7, 21, 75, 70}, sql.Row{7, 4, 10, 53, 69}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=69 AND v2 BETWEEN 38 AND 45) AND (v1<>35 AND v2<28 AND v3>14);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=93 AND v2<=10 AND v3 BETWEEN 21 AND 83) AND (v1<>5 AND v2>59 AND v3<>17) OR (v1<69 AND v3<>65 AND v4>=51 AND v2<=48)) OR (v1 BETWEEN 37 AND 57 AND v2 BETWEEN 44 AND 57 AND v3<40 AND v4=98));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{67, 64, 26, 77, 97}, sql.Row{17, 9, 7, 74, 92}, sql.Row{0, 0, 33, 2, 67}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{12, 7, 7, 66, 62}, sql.Row{13, 7, 21, 75, 70}, sql.Row{46, 39, 45, 75, 55}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<46) OR (v1<>60));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<97 AND v2<=47 AND v3=91) OR (v1=74 AND v4>72 AND v2<>44 AND v3 BETWEEN 4 AND 51));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 26 AND 60 AND v2>53 AND v3<=9 AND v4<8) OR (v1>0 AND v2<=69));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=33 AND v2<2 AND v3<>63) OR (v1 BETWEEN 20 AND 95 AND v2<>7 AND v3 BETWEEN 95 AND 96 AND v4 BETWEEN 34 AND 41)) OR (v1 BETWEEN 27 AND 44 AND v4<>28 AND v2<=43 AND v3<=64));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{43, 37, 35, 6, 44}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1 BETWEEN 13 AND 36 AND v2>40) OR (v1<>28 AND v2<29)) OR (v1 BETWEEN 36 AND 89 AND v2>=92 AND v3>39 AND v4<16)) OR (v1<=1));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{39, 34, 87, 13, 51}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{75, 71, 3, 49, 55}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=68 AND v2=49) OR (v1<=35 AND v2>=59 AND v3>=88 AND v4 BETWEEN 1 AND 62));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>33) OR (v1<23 AND v4<=23 AND v2>=41));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{24, 17, 49, 14, 7}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{25, 17, 75, 86, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=78 AND v2=26 AND v3 BETWEEN 70 AND 89) OR (v1 BETWEEN 12 AND 78 AND v2>41 AND v3 BETWEEN 2 AND 11 AND v4 BETWEEN 12 AND 97)) OR (v1>16 AND v2=85 AND v3<56 AND v4<19));`,
		Expected: []sql.Row{sql.Row{70, 66, 97, 6, 39}, sql.Row{57, 50, 79, 10, 12}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=51 AND v2=3 AND v3>48 AND v4>=49) OR (v1>25 AND v3=37));`,
		Expected: []sql.Row{sql.Row{38, 34, 55, 37, 34}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<4 AND v2<>1 AND v3<=34) OR (v1>=63)) OR (v1<58 AND v2=33)) AND (v1<=55) OR (v1 BETWEEN 1 AND 80 AND v2<=51));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 33 AND 82 AND v2<26) OR (v1>=98 AND v4>30 AND v2 BETWEEN 47 AND 67 AND v3 BETWEEN 9 AND 54)) OR (v1>=5)) AND (v1<>85 AND v4<>31);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{9, 5, 17, 52, 13}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=82 AND v3<>55 AND v4>26) OR (v1=35)) OR (v1 BETWEEN 18 AND 70 AND v2>=17));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{67, 64, 26, 77, 97}, sql.Row{66, 64, 23, 33, 5}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{84, 82, 70, 5, 47}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>45 AND v2<=55 AND v3>=2 AND v4<46) OR (v1>=0 AND v2<>6));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=85 AND v2>=46 AND v3=87 AND v4>3) OR (v1=52));`,
		Expected: []sql.Row{sql.Row{60, 52, 72, 44, 2}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<90 AND v4=77) OR (v1<>32 AND v2<=17 AND v3=68)) OR (v1<41));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=2) AND (v1>=13 AND v2<=23 AND v3<=23) OR (v1 BETWEEN 18 AND 57));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 32 AND 72 AND v2<>89 AND v3>=39) OR (v1>50 AND v4>80));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{48, 41, 21, 82, 54}, sql.Row{76, 71, 48, 89, 99}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{67, 64, 26, 77, 97}, sql.Row{92, 88, 57, 12, 88}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{89, 86, 7, 57, 96}, sql.Row{42, 36, 7, 40, 16}, sql.Row{46, 39, 45, 75, 55}, sql.Row{34, 32, 16, 97, 29}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<44) OR (v1<>37 AND v2<=12 AND v3>65 AND v4<47)) OR (v1<>76));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 29 AND 37) OR (v1<>54 AND v2<=65 AND v3<=1 AND v4<>10)) OR (v1<>55 AND v2 BETWEEN 49 AND 56 AND v3>=25 AND v4<=8));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{40, 34, 89, 27, 90}, sql.Row{35, 33, 29, 69, 6}, sql.Row{43, 37, 35, 6, 44}, sql.Row{95, 90, 25, 0, 17}, sql.Row{36, 33, 53, 56, 88}, sql.Row{39, 34, 87, 13, 51}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{33, 29, 72, 97, 93}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=80 AND v2<95 AND v3>6) OR (v1 BETWEEN 7 AND 14 AND v2 BETWEEN 27 AND 49 AND v3>57 AND v4 BETWEEN 28 AND 60));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>10 AND v2<43 AND v3<>15) OR (v1<=71 AND v4<>22));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 18 AND 36 AND v4<>87 AND v2>=13) OR (v1>=63 AND v3<=89)) AND (v1<76 AND v4<49 AND v2<=96);`,
		Expected: []sql.Row{sql.Row{35, 33, 29, 69, 6}, sql.Row{65, 63, 50, 20, 43}, sql.Row{72, 69, 81, 70, 37}, sql.Row{78, 73, 91, 56, 0}, sql.Row{66, 64, 23, 33, 5}, sql.Row{31, 24, 26, 69, 25}, sql.Row{79, 74, 22, 42, 16}, sql.Row{38, 34, 55, 37, 34}, sql.Row{74, 70, 56, 21, 22}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<93 AND v2<>16) OR (v1>=23 AND v4>=19)) OR (v1<48 AND v2<=45 AND v3<>46 AND v4>76)) AND (v1=22 AND v3=41) OR (v1<=17 AND v2>=41));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{25, 17, 75, 86, 18}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>17 AND v4>50 AND v2 BETWEEN 11 AND 23 AND v3=23) OR (v1<73));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 5 AND 41 AND v3<78 AND v4<41) OR (v1>84 AND v2<>43));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{35, 33, 29, 69, 6}, sql.Row{90, 87, 23, 16, 63}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{16, 8, 99, 43, 1}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{44, 37, 41, 36, 10}, sql.Row{100, 96, 73, 38, 38}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{45, 38, 71, 22, 37}, sql.Row{18, 9, 19, 38, 35}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=24 AND v2 BETWEEN 43 AND 84) OR (v1>=90 AND v2>1 AND v3<>70)) OR (v1>=66 AND v2<95));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<=18 AND v2<=70) OR (v1>55 AND v2>52 AND v3<>70)) OR (v1=58)) AND (v1<>22 AND v4>76) OR (v1>14 AND v2<32 AND v3>97));`,
		Expected: []sql.Row{sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{15, 8, 54, 46, 87}, sql.Row{5, 3, 31, 22, 81}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=9 AND v2>69) AND (v1 BETWEEN 39 AND 73);`,
		Expected: []sql.Row{sql.Row{52, 47, 94, 56, 21}, sql.Row{72, 69, 81, 70, 37}, sql.Row{78, 73, 91, 56, 0}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{57, 50, 79, 10, 12}, sql.Row{60, 52, 72, 44, 2}, sql.Row{58, 50, 97, 0, 79}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<87 AND v2 BETWEEN 2 AND 34 AND v3=87 AND v4>=76) OR (v1<>77 AND v2<=44 AND v3>34));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{98, 94, 43, 71, 43}, sql.Row{48, 41, 21, 82, 54}, sql.Row{35, 33, 29, 69, 6}, sql.Row{68, 64, 41, 74, 85}, sql.Row{82, 82, 29, 66, 71}, sql.Row{9, 5, 17, 52, 13}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{17, 9, 7, 74, 92}, sql.Row{86, 83, 41, 53, 57}, sql.Row{31, 24, 26, 69, 25}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{34, 32, 16, 97, 29}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{18, 9, 19, 38, 35}, sql.Row{61, 53, 6, 53, 89}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=9 AND v4>=68 AND v2>21) OR (v1=5 AND v2<69 AND v3<=15 AND v4>=61));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=22) OR (v1>55));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 47 AND 57 AND v2>=83) OR (v1=91 AND v2>34));`,
		Expected: []sql.Row{sql.Row{52, 47, 94, 56, 21}, sql.Row{59, 51, 97, 39, 36}, sql.Row{58, 50, 97, 0, 79}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 23 AND 25) AND (v1<98 AND v2>=20 AND v3>37);`,
		Expected: []sql.Row{sql.Row{31, 24, 26, 69, 25}, sql.Row{32, 24, 45, 96, 0}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=6) OR (v1>61 AND v2<=34)) OR (v1>10 AND v2<>50 AND v3<>62 AND v4<=84));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>74) OR (v1<>86 AND v2<=91)) AND (v1>=8);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>25 AND v2 BETWEEN 23 AND 54) OR (v1<>40 AND v3>90)) OR (v1<>7 AND v4<=78));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=25) OR (v1>40 AND v2 BETWEEN 26 AND 40 AND v3<76));`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{54, 50, 26, 23, 71}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{85, 83, 37, 36, 16}, sql.Row{55, 50, 36, 73, 58}, sql.Row{73, 70, 40, 19, 5}, sql.Row{63, 55, 31, 29, 92}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=13 AND v2<85) OR (v1=23 AND v2<>68 AND v3=33));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<42 AND v2>95 AND v3>17 AND v4<>97) OR (v1>=13 AND v2<>10 AND v3 BETWEEN 73 AND 85 AND v4=48)) OR (v1>55 AND v2=85 AND v3>30));`,
		Expected: []sql.Row{sql.Row{16, 8, 99, 43, 1}, sql.Row{29, 22, 98, 22, 21}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 5 AND 32) OR (v1>7)) OR (v1=34));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=34 AND v2<>61 AND v3<>3) AND (v1 BETWEEN 69 AND 93) AND (v1=36 AND v2>14);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>75) OR (v1<>74 AND v3 BETWEEN 29 AND 73));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1<>91 AND v3=27 AND v4=22 AND v2<>68) AND (v1<=88);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<>18 AND v2<>90 AND v3>95) OR (v1>=44)) OR (v1<4 AND v3<=26 AND v4<>67 AND v2>=37)) OR (v1<36 AND v2<=15 AND v3 BETWEEN 25 AND 36 AND v4<=14));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 44 AND 87 AND v2<52 AND v3<52 AND v4<1) OR (v1<30 AND v4 BETWEEN 8 AND 97 AND v2<=24));`,
		Expected: []sql.Row{sql.Row{20, 12, 0, 33, 62}, sql.Row{28, 22, 21, 28, 78}, sql.Row{9, 5, 17, 52, 13}, sql.Row{17, 9, 7, 74, 92}, sql.Row{12, 7, 7, 66, 62}, sql.Row{13, 7, 21, 75, 70}, sql.Row{27, 21, 21, 32, 8}, sql.Row{7, 4, 10, 53, 69}, sql.Row{77, 73, 10, 2, 0}, sql.Row{18, 9, 19, 38, 35}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>48 AND v2<=83) OR (v1>28 AND v2 BETWEEN 9 AND 87 AND v3<>73)) OR (v1>=53 AND v2>=91 AND v3 BETWEEN 33 AND 97));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{38, 34, 55, 37, 34}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>8 AND v2 BETWEEN 34 AND 48) OR (v1<>54));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=78 AND v2<74 AND v3<42 AND v4>=34) OR (v1<=29 AND v2<=27 AND v3>31 AND v4 BETWEEN 35 AND 41));`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{5, 3, 31, 22, 81}, sql.Row{38, 34, 55, 37, 34}, sql.Row{45, 38, 71, 22, 37}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 9 AND 35 AND v4<=69 AND v2 BETWEEN 34 AND 53 AND v3<>28) AND (v1 BETWEEN 12 AND 48);`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{24, 17, 49, 14, 7}, sql.Row{30, 23, 43, 13, 11}, sql.Row{32, 24, 45, 96, 0}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 13 AND 77 AND v2>75 AND v3<73 AND v4>=6) AND (v1<=58 AND v2=48 AND v3 BETWEEN 33 AND 73);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>47 AND v3>47 AND v4 BETWEEN 51 AND 86 AND v2=26) OR (v1<82 AND v2<=17 AND v3<17 AND v4>=46));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>87) OR (v1>82 AND v4>=22)) OR (v1>=52 AND v2<>47 AND v3=37)) OR (v1<=14 AND v2<57 AND v3<10));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{90, 87, 23, 16, 63}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=99 AND v3<=41) AND (v1<>38 AND v2<94 AND v3 BETWEEN 83 AND 95 AND v4>=86);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>78) AND (v1>32 AND v2>11 AND v3>=78);`,
		Expected: []sql.Row{sql.Row{87, 84, 56, 78, 18}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1<>3 AND v2=26 AND v3=22 AND v4<=76) AND (v1 BETWEEN 59 AND 92 AND v2 BETWEEN 36 AND 80);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>10) OR (v1=12));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>=12 AND v3>=45 AND v4<98) OR (v1<>51 AND v3=79 AND v4<=24)) OR (v1 BETWEEN 4 AND 59 AND v4<82)) OR (v1>=29 AND v2<>21));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>10 AND v2<=75 AND v3>=70) OR (v1<89 AND v2<=32));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{48, 41, 21, 82, 54}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{68, 64, 41, 74, 85}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{90, 87, 23, 16, 63}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{67, 64, 26, 77, 97}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{31, 24, 26, 69, 25}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{13, 7, 21, 75, 70}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{71, 67, 39, 87, 15}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=15) OR (v1=15)) OR (v1 BETWEEN 14 AND 25 AND v4>55 AND v2<53 AND v3=95));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>48 AND v2 BETWEEN 4 AND 84 AND v3<=3 AND v4<>31) AND (v1 BETWEEN 2 AND 15 AND v3>75);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<41 AND v4=9 AND v2>77 AND v3=41) OR (v1>62 AND v2>=48 AND v3=13 AND v4>61)) OR (v1 BETWEEN 33 AND 75)) OR (v1 BETWEEN 45 AND 65 AND v4 BETWEEN 4 AND 68));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{67, 64, 26, 77, 97}, sql.Row{66, 64, 23, 33, 5}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>20) OR (v1>=71 AND v4 BETWEEN 12 AND 20 AND v2<=30 AND v3 BETWEEN 14 AND 44)) AND (v1>97 AND v2=91 AND v3>=5) OR (v1>7 AND v2<34 AND v3<55 AND v4 BETWEEN 88 AND 97)) AND (v1 BETWEEN 2 AND 16 AND v2<>23 AND v3=75 AND v4>99);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=55 AND v2<13 AND v3<=96 AND v4>=49) OR (v1 BETWEEN 39 AND 98 AND v2=77 AND v3>85));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=74 AND v2<>13 AND v3<67 AND v4 BETWEEN 1 AND 70) OR (v1 BETWEEN 30 AND 50 AND v2<27 AND v3>=35));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{48, 41, 21, 82, 54}, sql.Row{79, 74, 22, 42, 16}, sql.Row{42, 36, 7, 40, 16}, sql.Row{34, 32, 16, 97, 29}, sql.Row{47, 41, 1, 85, 9}, sql.Row{51, 45, 9, 76, 9}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1=76) OR (v1>22 AND v3<49 AND v4=2)) OR (v1=85 AND v4>79)) OR (v1=10 AND v2=47 AND v3 BETWEEN 6 AND 21 AND v4>97));`,
		Expected: []sql.Row{sql.Row{81, 76, 74, 97, 18}, sql.Row{88, 85, 2, 3, 88}, sql.Row{60, 52, 72, 44, 2}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>38 AND v2>98) OR (v1<>29 AND v2=75)) OR (v1>58 AND v2<>49 AND v3 BETWEEN 25 AND 58));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{78, 73, 91, 56, 0}, sql.Row{85, 83, 37, 36, 16}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{100, 96, 73, 38, 38}, sql.Row{25, 17, 75, 86, 18}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>82 AND v4=74 AND v2=8 AND v3>=43) OR (v1=1 AND v2>=54 AND v3 BETWEEN 41 AND 91 AND v4>=0));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=26 AND v2<=94 AND v3<=76) OR (v1<34 AND v2 BETWEEN 5 AND 20));`,
		Expected: []sql.Row{sql.Row{9, 5, 17, 52, 13}, sql.Row{17, 9, 7, 74, 92}, sql.Row{12, 7, 7, 66, 62}, sql.Row{34, 32, 16, 97, 29}, sql.Row{7, 4, 10, 53, 69}, sql.Row{18, 9, 19, 38, 35}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>74 AND v2<=3 AND v3>51 AND v4<1) OR (v1>=92 AND v2<=2));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<=10 AND v2 BETWEEN 29 AND 83 AND v3<30 AND v4=54) OR (v1=68 AND v2=9 AND v3<=31)) AND (v1=87 AND v2>=91) OR (v1<=3 AND v2<>65 AND v3<8 AND v4<54)) OR (v1<7 AND v2>=4 AND v3<=47));`,
		Expected: []sql.Row{sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{5, 3, 31, 22, 81}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<35) OR (v1>=5 AND v2>=10 AND v3=65));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>31 AND v2<=37 AND v3>56 AND v4 BETWEEN 10 AND 31) OR (v1>8)) AND (v1>=27 AND v2<>44);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>52) OR (v1<21 AND v2<61 AND v3=13)) OR (v1=89 AND v3>33));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<30 AND v4>11 AND v2<=11) OR (v1<>19 AND v2<>47 AND v3 BETWEEN 38 AND 77 AND v4>31)) OR (v1 BETWEEN 0 AND 27 AND v2 BETWEEN 33 AND 34)) OR (v1<32)) AND (v1<9 AND v3=54 AND v4<>31 AND v2<>95);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=48) OR (v1 BETWEEN 2 AND 81));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<>36) OR (v1<>70 AND v2 BETWEEN 23 AND 39)) OR (v1>51 AND v2>=57)) OR (v1<50 AND v2<=3 AND v3 BETWEEN 1 AND 74));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1>30) OR (v1>98 AND v4>43 AND v2<>80)) OR (v1 BETWEEN 2 AND 23 AND v2>=34)) OR (v1>=42));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<68 AND v2<81 AND v3<34 AND v4<>33) OR (v1<=78 AND v4 BETWEEN 34 AND 99 AND v2>=79 AND v3>=9)) OR (v1=27 AND v4 BETWEEN 20 AND 41 AND v2<98 AND v3>=15));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{21, 12, 42, 15, 31}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{24, 17, 49, 14, 7}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{53, 48, 3, 11, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<23 AND v2<=45 AND v3<0) OR (v1>=31)) OR (v1>=50));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<16) OR (v1>=19 AND v2<25 AND v3>77));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{20, 12, 0, 33, 62}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{34, 32, 16, 97, 29}, sql.Row{47, 41, 1, 85, 9}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<29 AND v2 BETWEEN 81 AND 92) OR (v1>20 AND v2>=53 AND v3 BETWEEN 20 AND 68));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{52, 47, 94, 56, 21}, sql.Row{78, 73, 91, 56, 0}, sql.Row{36, 33, 53, 56, 88}, sql.Row{59, 51, 97, 39, 36}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{74, 70, 56, 21, 22}, sql.Row{100, 96, 73, 38, 38}, sql.Row{60, 52, 72, 44, 2}, sql.Row{45, 38, 71, 22, 37}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1 BETWEEN 25 AND 59 AND v2=1 AND v3<93 AND v4<=16) OR (v1<40 AND v2 BETWEEN 14 AND 37 AND v3>62 AND v4<58)) OR (v1<>17 AND v2<>36)) OR (v1 BETWEEN 7 AND 99 AND v2<>6 AND v3=43 AND v4<89));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1=46) AND (v1>=93 AND v3<>51 AND v4=93 AND v2=8);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<=5 AND v2>=14 AND v3<=2) OR (v1<53 AND v4=99 AND v2=72)) OR (v1<>49 AND v2<>39 AND v3>=70 AND v4<>24)) OR (v1<79));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1<99 AND v2<=42) OR (v1=47 AND v4 BETWEEN 33 AND 63 AND v2>=10 AND v3<=57)) OR (v1>44)) OR (v1<>87 AND v2>42 AND v3<69));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=29 AND v2 BETWEEN 50 AND 86 AND v3<=6 AND v4 BETWEEN 8 AND 48) OR (v1>86 AND v2 BETWEEN 62 AND 70 AND v3=33));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=15) OR (v1>=59 AND v2<18)) OR (v1 BETWEEN 23 AND 31 AND v3>50 AND v4 BETWEEN 15 AND 54));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=50 AND v2<=84 AND v3 BETWEEN 22 AND 26) OR (v1<=18 AND v2<49 AND v3>19 AND v4 BETWEEN 61 AND 75)) AND (v1>48 AND v2>=56 AND v3=6) OR (v1<=88 AND v2>=76 AND v3<40 AND v4<=18));`,
		Expected: []sql.Row{sql.Row{57, 50, 79, 10, 12}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=27) OR (v1>=11 AND v2<97 AND v3<97 AND v4<44));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{22, 12, 46, 43, 23}, sql.Row{56, 50, 39, 26, 37}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{65, 63, 50, 20, 43}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{66, 64, 23, 33, 5}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{79, 74, 22, 42, 16}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{100, 96, 73, 38, 38}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=89 AND v2<=93) OR (v1<=54));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{91, 87, 66, 8, 22}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=74 AND v2<=31) OR (v1<11)) OR (v1 BETWEEN 26 AND 38));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{40, 34, 89, 27, 90}, sql.Row{35, 33, 29, 69, 6}, sql.Row{43, 37, 35, 6, 44}, sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{79, 74, 22, 42, 16}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{18, 9, 19, 38, 35}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=10 AND v2<12 AND v3=54 AND v4>89) OR (v1=99 AND v4=37));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=50 AND v2<50) OR (v1<19)) OR (v1=51));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{51, 45, 9, 76, 9}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=62 AND v2<89) AND (v1<90 AND v2>=19) OR (v1<=1 AND v2>49));`,
		Expected: []sql.Row{sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1<=61 AND v2<=64) AND (v1>=0);`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{51, 45, 9, 76, 9}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 5 AND 69) OR (v1<52 AND v4<14 AND v2>=25 AND v3=63));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=21 AND v2<>0 AND v3<49) OR (v1<=70 AND v2>16 AND v3<=89 AND v4>=27)) OR (v1>=14));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>14) OR (v1>=82));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=19 AND v3<72 AND v4=23) OR (v1<=36 AND v2>99));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>43) OR (v1>=41 AND v4=32 AND v2<=66)) AND (v1>43 AND v2 BETWEEN 83 AND 97);`,
		Expected: []sql.Row{sql.Row{52, 47, 94, 56, 21}, sql.Row{78, 73, 91, 56, 0}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{58, 50, 97, 0, 79}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=8 AND v4>=44) AND (v1=84 AND v2=41 AND v3 BETWEEN 5 AND 81) OR (v1<>31 AND v2<=96 AND v3<=20 AND v4<=14));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{96, 91, 23, 2, 9}, sql.Row{24, 17, 49, 14, 7}, sql.Row{57, 50, 79, 10, 12}, sql.Row{30, 23, 43, 13, 11}, sql.Row{77, 73, 10, 2, 0}, sql.Row{73, 70, 40, 19, 5}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 52 AND 55) OR (v1>1 AND v2>36 AND v3<=47)) OR (v1 BETWEEN 0 AND 38 AND v2<=49 AND v3>=8));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{65, 63, 50, 20, 43}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{91, 87, 66, 8, 22}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{60, 52, 72, 44, 2}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{58, 50, 97, 0, 79}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=11 AND v2>=41 AND v3=9) AND (v1<>41 AND v3<>69 AND v4<24) OR (v1>48 AND v4<79));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{56, 50, 39, 26, 37}, sql.Row{81, 76, 74, 97, 18}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{94, 89, 91, 7, 45}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1=23 AND v4>=52 AND v2>=61) AND (v1<>85 AND v3>2 AND v4<15);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1 BETWEEN 32 AND 51 AND v4 BETWEEN 5 AND 14 AND v2=46 AND v3>=31) OR (v1>=32 AND v2<=26 AND v3>52 AND v4>55));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{67, 64, 26, 77, 97}, sql.Row{89, 86, 7, 57, 96}, sql.Row{64, 57, 25, 97, 65}, sql.Row{61, 53, 6, 53, 89}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=16 AND v2<59 AND v3<=43) OR (v1=17 AND v2<=4 AND v3>71));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{56, 50, 39, 26, 37}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{93, 89, 1, 27, 50}, sql.Row{24, 17, 49, 14, 7}, sql.Row{79, 74, 22, 42, 16}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{77, 73, 10, 2, 0}, sql.Row{73, 70, 40, 19, 5}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1=42 AND v4=47) OR (v1>=28)) AND (v1<>10) OR (v1 BETWEEN 20 AND 60 AND v2>96 AND v3<>28)) OR (v1=99 AND v2<=62 AND v3=30 AND v4 BETWEEN 92 AND 93));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=50 AND v3=4 AND v4=53 AND v2>=80) OR (v1<54 AND v4<=76 AND v2>48)) OR (v1>=38 AND v4<76 AND v2=56));`,
		Expected: []sql.Row{sql.Row{52, 47, 94, 56, 21}, sql.Row{87, 84, 56, 78, 18}, sql.Row{11, 5, 76, 70, 46}, sql.Row{24, 17, 49, 14, 7}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{60, 52, 72, 44, 2}, sql.Row{97, 93, 56, 71, 53}, sql.Row{45, 38, 71, 22, 37}, sql.Row{50, 43, 66, 85, 66}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=79 AND v2>24) OR (v1<76 AND v3<=59 AND v4<=36 AND v2=39));`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<=15 AND v2 BETWEEN 21 AND 76 AND v3=23) OR (v1 BETWEEN 2 AND 55));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=85 AND v2>37 AND v3<=57 AND v4 BETWEEN 12 AND 49) AND (v1>10) OR (v1>56)) OR (v1>=57));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{74, 70, 56, 21, 22}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((((v1<>89 AND v2>=75) OR (v1<=5)) OR (v1=5 AND v2<19 AND v3>=1)) OR (v1>=18 AND v2>=17 AND v3 BETWEEN 78 AND 83)) OR (v1>=11 AND v3<=9 AND v4>39));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{52, 47, 94, 56, 21}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{78, 73, 91, 56, 0}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{57, 50, 79, 10, 12}, sql.Row{1, 0, 55, 14, 32}, sql.Row{84, 82, 70, 5, 47}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{7, 4, 10, 53, 69}, sql.Row{58, 50, 97, 0, 79}, sql.Row{69, 64, 77, 41, 17}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1 BETWEEN 36 AND 48 AND v4<97 AND v2>=99 AND v3=3) OR (v1<>84 AND v2=46 AND v3=4)) OR (v1>73 AND v2 BETWEEN 34 AND 39 AND v3 BETWEEN 34 AND 71 AND v4>=15)) OR (v1<>82));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1<=50 AND v3>=51 AND v4<>69) AND (v1>1 AND v3<24);`,
		Expected: []sql.Row{},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>10 AND v2=72 AND v3<31) OR (v1<67 AND v3 BETWEEN 13 AND 70 AND v4>66 AND v2>39)) OR (v1<82)) AND (v1>=66);`,
		Expected: []sql.Row{sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{72, 69, 81, 70, 37}, sql.Row{78, 73, 91, 56, 0}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{74, 70, 56, 21, 22}, sql.Row{77, 73, 10, 2, 0}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=84 AND v2<85 AND v3 BETWEEN 75 AND 86 AND v4<=34) OR (v1>=37 AND v2<59 AND v3 BETWEEN 2 AND 26 AND v4>6));`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{92, 88, 57, 12, 88}, sql.Row{74, 70, 56, 21, 22}, sql.Row{53, 48, 3, 11, 18}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>10 AND v2=42) OR (v1>=85 AND v2<>6 AND v3=34 AND v4<=45));`,
		Expected: []sql.Row{sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=24 AND v2<>33 AND v3=77 AND v4<>63) OR (v1<>22 AND v2<=58 AND v3>71 AND v4>=87)) OR (v1<=85 AND v2>18 AND v3<=40));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{40, 34, 89, 27, 90}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{83, 82, 31, 22, 99}, sql.Row{21, 12, 42, 15, 31}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{24, 17, 49, 14, 7}, sql.Row{14, 7, 76, 26, 47}, sql.Row{5, 3, 31, 22, 81}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{44, 37, 41, 36, 10}, sql.Row{84, 82, 70, 5, 47}, sql.Row{37, 33, 86, 12, 22}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{19, 10, 36, 27, 5}, sql.Row{45, 38, 71, 22, 37}, sql.Row{58, 50, 97, 0, 79}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{26, 20, 30, 34, 71}, sql.Row{63, 55, 31, 29, 92}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<72 AND v2>=67) OR (v1<>88 AND v2<>23 AND v3=23));`,
		Expected: []sql.Row{sql.Row{40, 34, 89, 27, 90}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{72, 69, 81, 70, 37}, sql.Row{11, 5, 76, 70, 46}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{3, 1, 72, 29, 21}, sql.Row{29, 22, 98, 22, 21}, sql.Row{57, 50, 79, 10, 12}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{60, 52, 72, 44, 2}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{58, 50, 97, 0, 79}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=11 AND v2>=99) OR (v1<18 AND v2>=34 AND v3<53)) OR (v1>68));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{86, 83, 41, 53, 57}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{73, 70, 40, 19, 5}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<=40 AND v2<0) OR (v1>=35 AND v2<=95 AND v3<>61)) OR (v1>49));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1=85 AND v2<81 AND v3 BETWEEN 14 AND 61 AND v4<>99) OR (v1 BETWEEN 31 AND 86 AND v4<>43)) OR (v1 BETWEEN 15 AND 67)) AND (v1 BETWEEN 37 AND 55);`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{43, 37, 35, 6, 44}, sql.Row{62, 53, 48, 19, 36}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{57, 50, 79, 10, 12}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>=52 AND v4>=86) OR (v1>=86 AND v3=79 AND v4=9 AND v2 BETWEEN 2 AND 6)) OR (v1>98 AND v2<=44 AND v3<>53));`,
		Expected: []sql.Row{sql.Row{76, 71, 48, 89, 99}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{67, 64, 26, 77, 97}, sql.Row{92, 88, 57, 12, 88}, sql.Row{89, 86, 7, 57, 96}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>5 AND v4 BETWEEN 14 AND 43 AND v2>=62) OR (v1>=91 AND v2>=28 AND v3>=83 AND v4<>91));`,
		Expected: []sql.Row{sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{72, 69, 81, 70, 37}, sql.Row{91, 87, 66, 8, 22}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{29, 22, 98, 22, 21}, sql.Row{100, 96, 73, 38, 38}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{45, 38, 71, 22, 37}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1<>87) OR (v1>91 AND v2>23 AND v3<74));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1 BETWEEN 1 AND 19 AND v2 BETWEEN 22 AND 48) AND (v1 BETWEEN 6 AND 47 AND v2>=25 AND v3<27);`,
		Expected: []sql.Row{sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((((v1=76 AND v2>35 AND v3<=59 AND v4>25) OR (v1 BETWEEN 35 AND 82 AND v2 BETWEEN 8 AND 37 AND v3>18 AND v4<=70)) OR (v1<=95 AND v3=70 AND v4=11)) OR (v1 BETWEEN 15 AND 23 AND v2<>24 AND v3<=50 AND v4<>84));`,
		Expected: []sql.Row{sql.Row{48, 41, 21, 82, 54}, sql.Row{28, 22, 21, 28, 78}, sql.Row{23, 15, 42, 17, 60}, sql.Row{66, 64, 23, 33, 5}, sql.Row{24, 17, 49, 14, 7}, sql.Row{55, 50, 36, 73, 58}, sql.Row{79, 74, 22, 42, 16}, sql.Row{29, 22, 98, 22, 21}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{64, 57, 25, 97, 65}, sql.Row{51, 45, 9, 76, 9}, sql.Row{26, 20, 30, 34, 71}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>42 AND v2=44 AND v3<>73) OR (v1>24 AND v2>49 AND v3>=7));`,
		Expected: []sql.Row{sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{81, 76, 74, 97, 18}, sql.Row{52, 47, 94, 56, 21}, sql.Row{65, 63, 50, 20, 43}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{78, 73, 91, 56, 0}, sql.Row{91, 87, 66, 8, 22}, sql.Row{92, 88, 57, 12, 88}, sql.Row{36, 33, 53, 56, 88}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{100, 96, 73, 38, 38}, sql.Row{37, 33, 86, 12, 22}, sql.Row{60, 52, 72, 44, 2}, sql.Row{97, 93, 56, 71, 53}, sql.Row{45, 38, 71, 22, 37}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{69, 64, 77, 41, 17}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=79 AND v3<89 AND v4>=3) OR (v1<63 AND v2<66));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{22, 12, 46, 43, 23}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{54, 50, 26, 23, 71}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{12, 7, 7, 66, 62}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{34, 32, 16, 97, 29}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{51, 45, 9, 76, 9}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>66) OR (v1=33)) OR (v1<>39 AND v2>53 AND v3<73 AND v4<75));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{93, 89, 1, 27, 50}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1=15) OR (v1>36 AND v3=13 AND v4<=98 AND v2 BETWEEN 70 AND 85));`,
		Expected: []sql.Row{sql.Row{23, 15, 42, 17, 60}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 23 AND 45 AND v4<30) OR (v1>=36 AND v2<>6 AND v3 BETWEEN 30 AND 53)) OR (v1 BETWEEN 41 AND 95));`,
		Expected: []sql.Row{sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{31, 24, 26, 69, 25}, sql.Row{55, 50, 36, 73, 58}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{32, 24, 45, 96, 0}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>6 AND v4<>9 AND v2<>77 AND v3>=81) OR (v1<>21 AND v2>=17 AND v3<=3));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{48, 41, 21, 82, 54}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{0, 0, 33, 2, 67}, sql.Row{34, 32, 16, 97, 29}, sql.Row{25, 17, 75, 86, 18}, sql.Row{64, 57, 25, 97, 65}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{32, 24, 45, 96, 0}, sql.Row{4, 2, 27, 1, 75}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1 BETWEEN 94 AND 99 AND v2>4 AND v3<94 AND v4<=59) OR (v1=19 AND v2 BETWEEN 47 AND 54)) AND (v1>=83) OR (v1 BETWEEN 50 AND 97 AND v2<12 AND v3>23));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{93, 89, 1, 27, 50}, sql.Row{89, 86, 7, 57, 96}, sql.Row{100, 96, 73, 38, 38}, sql.Row{61, 53, 6, 53, 89}, sql.Row{75, 71, 3, 49, 55}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>19 AND v2>46 AND v3=26 AND v4>=47) OR (v1>18 AND v2<=79 AND v3=45 AND v4<=7)) OR (v1 BETWEEN 2 AND 21 AND v2>32));`,
		Expected: []sql.Row{sql.Row{22, 12, 46, 43, 23}, sql.Row{23, 15, 42, 17, 60}, sql.Row{21, 12, 42, 15, 31}, sql.Row{11, 5, 76, 70, 46}, sql.Row{15, 8, 54, 46, 87}, sql.Row{24, 17, 49, 14, 7}, sql.Row{14, 7, 76, 26, 47}, sql.Row{16, 8, 99, 43, 1}, sql.Row{25, 17, 75, 86, 18}, sql.Row{19, 10, 36, 27, 5}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (v1>=5) AND (v1=50 AND v2<=50);`,
		Expected: []sql.Row{sql.Row{56, 50, 39, 26, 37}, sql.Row{54, 50, 26, 23, 71}, sql.Row{55, 50, 36, 73, 58}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>=82 AND v2 BETWEEN 34 AND 50 AND v3<26 AND v4 BETWEEN 48 AND 76) OR (v1<=6));`,
		Expected: []sql.Row{sql.Row{9, 5, 17, 52, 13}, sql.Row{11, 5, 76, 70, 46}, sql.Row{10, 5, 32, 30, 48}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{8, 4, 27, 77, 5}, sql.Row{5, 3, 31, 22, 81}, sql.Row{3, 1, 72, 29, 21}, sql.Row{1, 0, 55, 14, 32}, sql.Row{7, 4, 10, 53, 69}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE ((v1>29) OR (v1<>94 AND v2>=56 AND v3=14));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{93, 89, 1, 27, 50}, sql.Row{36, 33, 53, 56, 88}, sql.Row{55, 50, 36, 73, 58}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1>8 AND v2<97 AND v3=51 AND v4<=26) OR (v1>87)) OR (v1<10 AND v2<=45 AND v3>=73));`,
		Expected: []sql.Row{sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{96, 91, 23, 2, 9}, sql.Row{95, 90, 25, 0, 17}, sql.Row{92, 88, 57, 12, 88}, sql.Row{17, 9, 7, 74, 92}, sql.Row{93, 89, 1, 27, 50}, sql.Row{8, 4, 27, 77, 5}, sql.Row{94, 89, 91, 7, 45}, sql.Row{13, 7, 21, 75, 70}, sql.Row{100, 96, 73, 38, 38}, sql.Row{97, 93, 56, 71, 53}},
	},
	{
		Query:    `SELECT * FROM comp_index_t2 WHERE (((v1<>15 AND v2>1) OR (v1<46)) OR (v1>47 AND v2>=9 AND v3 BETWEEN 39 AND 87 AND v4>=10));`,
		Expected: []sql.Row{sql.Row{41, 35, 6, 86, 74}, sql.Row{49, 43, 23, 15, 0}, sql.Row{98, 94, 43, 71, 43}, sql.Row{99, 94, 79, 53, 73}, sql.Row{22, 12, 46, 43, 23}, sql.Row{40, 34, 89, 27, 90}, sql.Row{48, 41, 21, 82, 54}, sql.Row{56, 50, 39, 26, 37}, sql.Row{76, 71, 48, 89, 99}, sql.Row{81, 76, 74, 97, 18}, sql.Row{20, 12, 0, 33, 62}, sql.Row{35, 33, 29, 69, 6}, sql.Row{52, 47, 94, 56, 21}, sql.Row{54, 50, 26, 23, 71}, sql.Row{65, 63, 50, 20, 43}, sql.Row{68, 64, 41, 74, 85}, sql.Row{72, 69, 81, 70, 37}, sql.Row{87, 84, 56, 78, 18}, sql.Row{28, 22, 21, 28, 78}, sql.Row{43, 37, 35, 6, 44}, sql.Row{90, 87, 23, 16, 63}, sql.Row{23, 15, 42, 17, 60}, sql.Row{62, 53, 48, 19, 36}, sql.Row{78, 73, 91, 56, 0}, sql.Row{82, 82, 29, 66, 71}, sql.Row{83, 82, 31, 22, 99}, sql.Row{88, 85, 2, 3, 88}, sql.Row{9, 5, 17, 52, 13}, sql.Row{21, 12, 42, 15, 31}, sql.Row{96, 91, 23, 2, 9}, sql.Row{91, 87, 66, 8, 22}, sql.Row{95, 90, 25, 0, 17}, sql.Row{67, 64, 26, 77, 97}, sql.Row{85, 83, 37, 36, 16}, sql.Row{92, 88, 57, 12, 88}, sql.Row{11, 5, 76, 70, 46}, sql.Row{17, 9, 7, 74, 92}, sql.Row{10, 5, 32, 30, 48}, sql.Row{66, 64, 23, 33, 5}, sql.Row{86, 83, 41, 53, 57}, sql.Row{0, 0, 33, 2, 67}, sql.Row{2, 1, 43, 13, 36}, sql.Row{15, 8, 54, 46, 87}, sql.Row{31, 24, 26, 69, 25}, sql.Row{24, 17, 49, 14, 7}, sql.Row{36, 33, 53, 56, 88}, sql.Row{8, 4, 27, 77, 5}, sql.Row{14, 7, 76, 26, 47}, sql.Row{55, 50, 36, 73, 58}, sql.Row{5, 3, 31, 22, 81}, sql.Row{16, 8, 99, 43, 1}, sql.Row{39, 34, 87, 13, 51}, sql.Row{59, 51, 97, 39, 36}, sql.Row{70, 66, 97, 6, 39}, sql.Row{79, 74, 22, 42, 16}, sql.Row{89, 86, 7, 57, 96}, sql.Row{94, 89, 91, 7, 45}, sql.Row{3, 1, 72, 29, 21}, sql.Row{12, 7, 7, 66, 62}, sql.Row{29, 22, 98, 22, 21}, sql.Row{38, 34, 55, 37, 34}, sql.Row{42, 36, 7, 40, 16}, sql.Row{57, 50, 79, 10, 12}, sql.Row{74, 70, 56, 21, 22}, sql.Row{1, 0, 55, 14, 32}, sql.Row{13, 7, 21, 75, 70}, sql.Row{44, 37, 41, 36, 10}, sql.Row{46, 39, 45, 75, 55}, sql.Row{53, 48, 3, 11, 18}, sql.Row{84, 82, 70, 5, 47}, sql.Row{100, 96, 73, 38, 38}, sql.Row{34, 32, 16, 97, 29}, sql.Row{37, 33, 86, 12, 22}, sql.Row{25, 17, 75, 86, 18}, sql.Row{27, 21, 21, 32, 8}, sql.Row{30, 23, 43, 13, 11}, sql.Row{47, 41, 1, 85, 9}, sql.Row{60, 52, 72, 44, 2}, sql.Row{64, 57, 25, 97, 65}, sql.Row{7, 4, 10, 53, 69}, sql.Row{19, 10, 36, 27, 5}, sql.Row{97, 93, 56, 71, 53}, sql.Row{77, 73, 10, 2, 0}, sql.Row{45, 38, 71, 22, 37}, sql.Row{51, 45, 9, 76, 9}, sql.Row{33, 29, 72, 97, 93}, sql.Row{50, 43, 66, 85, 66}, sql.Row{58, 50, 97, 0, 79}, sql.Row{71, 67, 39, 87, 15}, sql.Row{73, 70, 40, 19, 5}, sql.Row{18, 9, 19, 38, 35}, sql.Row{32, 24, 45, 96, 0}, sql.Row{26, 20, 30, 34, 71}, sql.Row{61, 53, 6, 53, 89}, sql.Row{63, 55, 31, 29, 92}, sql.Row{69, 64, 77, 41, 17}, sql.Row{75, 71, 3, 49, 55}, sql.Row{80, 74, 35, 72, 97}, sql.Row{4, 2, 27, 1, 75}, sql.Row{6, 4, 6, 67, 80}},
	},
	{
		Query: `select * from comp_index_t3 where v2 = 'a'`,
		Expected: []sql.Row{
			{int64(0), []uint8("a"), []uint8("a")},
		},
	},
	{
		Query: `select * from comp_index_t3 where v2 like 'a%'`,
		Expected: []sql.Row{
			{int64(0), []uint8("a"), []uint8("a")},
			{int64(1), []uint8("ab"), []uint8("ab")},
			{int64(2), []uint8("abc"), []uint8("abc")},
			{int64(3), []uint8("abcde"), []uint8("abcde")},
		},
	},
}

var IndexPrefixQueries = []ScriptTest{
	{
		Name: "int prefix",
		SetUpScript: []string{
			"create table t (i int)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (i(10))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "alter table t add index (i(10))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table c_tbl (i int, primary key (i(10)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table c_tbl (i int primary key, j int, index (j(10)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
		},
	},
	{
		Name: "float prefix",
		SetUpScript: []string{
			"create table t (f float)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (f(10))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "alter table t add index (f(10))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table c_tbl (f float, primary key (f(10)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table c_tbl (i int primary key, f float, index (f(10)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
		},
	},
	{
		Name: "string index prefix errors",
		SetUpScript: []string{
			"create table v_tbl (v varchar(10))",
			"create table c_tbl (c char(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table v_tbl add primary key (v(0))",
				ExpectedErr: sql.ErrKeyZero,
			},
			{
				Query:       "alter table v_tbl add primary key (v(11))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "alter table v_tbl add index (v(0))",
				ExpectedErr: sql.ErrKeyZero,
			},
			{
				Query:       "alter table v_tbl add index (v(11))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "alter table c_tbl add primary key (c(11))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "alter table c_tbl add index (c(11))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table t (v varchar(10), primary key(v(0)))",
				ExpectedErr: sql.ErrKeyZero,
			},
			{
				Query:       "create table t (v varchar(10), primary key(v(11)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table t (v varchar(10), index(v(11)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table t (c char(10), primary key(c(11)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
			{
				Query:       "create table t (c char(10), index(c(11)))",
				ExpectedErr: sql.ErrInvalidIndexPrefix,
			},
		},
	},
	{
		Name: "varchar primary key prefix",
		SetUpScript: []string{
			"create table t (v varchar(100))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (v(10))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
			{
				Query:       "create table v_tbl (v varchar(100), primary key (v(10)))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
		},
	},
	{
		Name: "varchar keyed secondary index prefix",
		SetUpScript: []string{
			"create table t (i int primary key, v varchar(10))",
			// Insert a value before we create the index, so that it
			// has to process existing data when building the index
			"insert into t values (-1, 'zzz');",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (v(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `v` varchar(10),\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `v` (`v`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values (0, 'aa'), (1, 'ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "insert into t values (0, 'aa'), (1, 'bb'), (2, 'cc')",
				Expected: []sql.Row{{types.NewOkResult(3)}},
			},
			{
				Query:    "select * from t where v = 'a'",
				Expected: []sql.Row{},
			},
			{
				Query: "select * from t where v = 'aa'",
				Expected: []sql.Row{
					{0, "aa"},
				},
			},
			{
				Query:    "create table v_tbl (i int primary key, v varchar(100), index (v(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table v_tbl",
				Expected: []sql.Row{{"v_tbl", "CREATE TABLE `v_tbl` (\n  `i` int NOT NULL,\n  `v` varchar(100),\n  PRIMARY KEY (`i`),\n  KEY `v` (`v`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "varchar keyless secondary index prefix",
		SetUpScript: []string{
			"create table t (v varchar(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (v(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `v` varchar(10),\n  UNIQUE KEY `v` (`v`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values ('aa'), ('ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table v_tbl (v varchar(100), index (v(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table v_tbl",
				Expected: []sql.Row{{"v_tbl", "CREATE TABLE `v_tbl` (\n  `v` varchar(100),\n  KEY `v` (`v`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "char primary key prefix",
		SetUpScript: []string{
			"create table t (c char(100))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (c(10))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
			{
				Query:       "create table c_tbl (c char(100), primary key (c(10)))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
		},
	},
	{
		Name: "char keyed secondary index prefix",
		SetUpScript: []string{
			"create table t (i int primary key, c char(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (c(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `c` char(10),\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `c` (`c`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values (0, 'aa'), (1, 'ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table c_tbl (i int primary key, c varchar(100), index (c(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table c_tbl",
				Expected: []sql.Row{{"c_tbl", "CREATE TABLE `c_tbl` (\n  `i` int NOT NULL,\n  `c` varchar(100),\n  PRIMARY KEY (`i`),\n  KEY `c` (`c`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "char keyless secondary index prefix",
		SetUpScript: []string{
			"create table t (c char(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (c(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `c` char(10),\n  UNIQUE KEY `c` (`c`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values ('aa'), ('ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table c_tbl (c char(100), index (c(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table c_tbl",
				Expected: []sql.Row{{"c_tbl", "CREATE TABLE `c_tbl` (\n  `c` char(100),\n  KEY `c` (`c`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "varbinary primary key prefix",
		SetUpScript: []string{
			"create table t (v varbinary(100))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (v(10))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
			{
				Query:       "create table v_tbl (v varbinary(100), primary key (v(10)))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
		},
	},
	{
		Name: "varbinary keyed secondary index prefix",
		SetUpScript: []string{
			"create table t (i int primary key, v varbinary(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (v(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `v` varbinary(10),\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `v` (`v`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values (0, 'aa'), (1, 'ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table v_tbl (i int primary key, v varbinary(100), index (v(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table v_tbl",
				Expected: []sql.Row{{"v_tbl", "CREATE TABLE `v_tbl` (\n  `i` int NOT NULL,\n  `v` varbinary(100),\n  PRIMARY KEY (`i`),\n  KEY `v` (`v`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "varbinary keyless secondary index prefix",
		SetUpScript: []string{
			"create table t (v varbinary(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (v(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `v` varbinary(10),\n  UNIQUE KEY `v` (`v`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values ('aa'), ('ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table v_tbl (v varbinary(100), index (v(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table v_tbl",
				Expected: []sql.Row{{"v_tbl", "CREATE TABLE `v_tbl` (\n  `v` varbinary(100),\n  KEY `v` (`v`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "binary primary key prefix",
		SetUpScript: []string{
			"create table t (b binary(100))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (b(10))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
			{
				Query:       "create table b_tbl (b binary(100), primary key (b(10)))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
		},
	},
	{
		Name: "binary keyed secondary index prefix",
		SetUpScript: []string{
			"create table t (i int primary key, b binary(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (b(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `b` binary(10),\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `b` (`b`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values (0, 'aa'), (1, 'ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table b_tbl (i int primary key, b binary(100), index (b(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table b_tbl",
				Expected: []sql.Row{{"b_tbl", "CREATE TABLE `b_tbl` (\n  `i` int NOT NULL,\n  `b` binary(100),\n  PRIMARY KEY (`i`),\n  KEY `b` (`b`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "binary keyless secondary index prefix",
		SetUpScript: []string{
			"create table t (b binary(10))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (b(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `b` binary(10),\n  UNIQUE KEY `b` (`b`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values ('aa'), ('ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table b_tbl (b binary(100), index (b(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table b_tbl",
				Expected: []sql.Row{{"b_tbl", "CREATE TABLE `b_tbl` (\n  `b` binary(100),\n  KEY `b` (`b`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "blob primary key prefix",
		SetUpScript: []string{
			"create table t (b blob)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (b(10))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
			{
				Query:       "create table b_tbl (b blob, primary key (b(10)))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
		},
	},
	{
		Name: "blob keyed secondary index prefix",
		SetUpScript: []string{
			"create table t (i int primary key, b blob);",
			// Insert a BLOB value before we create the index, so that it
			// has to process existing data when building the index
			"insert into t values (999, 'abcdefg');",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "select i from t where b like 'abcd%';",
				Expected: []sql.Row{{999}},
			},
			{
				Query:    "alter table t add index (b(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `b` blob,\n  PRIMARY KEY (`i`),\n  KEY `b` (`b`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:    "insert into t values (998, X'4242');",
				Expected: []sql.Row{{types.NewOkResult(1)}},
			},
			{
				Query:    "alter table t drop index `b`;",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "alter table t add unique index (b(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `b` blob,\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `b` (`b`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values (0, 'aa'), (1, 'ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table b_tbl (i int primary key, b blob, index (b(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table b_tbl",
				Expected: []sql.Row{{"b_tbl", "CREATE TABLE `b_tbl` (\n  `i` int NOT NULL,\n  `b` blob,\n  PRIMARY KEY (`i`),\n  KEY `b` (`b`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "blob keyless secondary index prefix",
		SetUpScript: []string{
			"create table t (b blob)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (b(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `b` blob,\n  UNIQUE KEY `b` (`b`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values ('aa'), ('ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table b_tbl (b blob, index (b(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table b_tbl",
				Expected: []sql.Row{{"b_tbl", "CREATE TABLE `b_tbl` (\n  `b` blob,\n  KEY `b` (`b`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "text primary key prefix",
		SetUpScript: []string{
			"create table t (t text)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "alter table t add primary key (t(10))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
			{
				Query:       "create table b_tbl (t text, primary key (t(10)))",
				ExpectedErr: sql.ErrUnsupportedIndexPrefix,
			},
		},
	},
	{
		Name: "text keyed secondary index prefix",
		SetUpScript: []string{
			"create table t (i int primary key, t text);",
			// Insert a TEXT value before we create the index, so that it
			// has to process existing data when building the index
			"insert into t values (999, 'xxx');",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "select i from t where t like 'x%';",
				Expected: []sql.Row{{999}},
			},
			{
				Query:    "alter table t add index (t(1));",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `t` text,\n  PRIMARY KEY (`i`),\n  KEY `t` (`t`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:    "select i from t where t like 'x%';",
				Expected: []sql.Row{{999}},
			},
			{
				Query:    "insert into t values (998, 'yy');",
				Expected: []sql.Row{{types.NewOkResult(1)}},
			},
			{
				Query:    "alter table t drop index `t`;",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "alter table t add unique index (t(1));",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `t` text,\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `t` (`t`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values (0, 'aa'), (1, 'ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table t_tbl (i int primary key, t text, index (t(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t_tbl",
				Expected: []sql.Row{{"t_tbl", "CREATE TABLE `t_tbl` (\n  `i` int NOT NULL,\n  `t` text,\n  PRIMARY KEY (`i`),\n  KEY `t` (`t`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "text keyless secondary index prefix",
		SetUpScript: []string{
			"create table t (t text)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "alter table t add unique index (t(1))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `t` text,\n  UNIQUE KEY `t` (`t`(1))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:       "insert into t values ('aa'), ('ab')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:    "create table t_tbl (t text, index (t(10)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "show create table t_tbl",
				Expected: []sql.Row{{"t_tbl", "CREATE TABLE `t_tbl` (\n  `t` text,\n  KEY `t` (`t`(10))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "inline secondary indexes",
		SetUpScript: []string{
			"create table t (i int primary key, v1 varchar(10), v2 varchar(10), unique index (v1(3),v2(5)))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `v1` varchar(10),\n  `v2` varchar(10),\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `v1` (`v1`(3),`v2`(5))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:    "insert into t values (0, 'a', 'a'), (1, 'ab','ab'), (2, 'abc', 'abc'), (3, 'abcde', 'abcde')",
				Expected: []sql.Row{{types.NewOkResult(4)}},
			},
			{
				Query:       "insert into t values (99, 'abc', 'abcde')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:       "insert into t values (99, 'abc123', 'abcde123')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query: "select * from t where v1 = 'a'",
				Expected: []sql.Row{
					{0, "a", "a"},
				},
			},
			{
				Query: "select * from t where v1 = 'abc'",
				Expected: []sql.Row{
					{2, "abc", "abc"},
				},
			},
			{
				Query:    "select * from t where v1 = 'abcd'",
				Expected: []sql.Row{},
			},
			{
				Query: "select * from t where v1 > 'a' and v1 < 'abcde'",
				Expected: []sql.Row{
					{1, "ab", "ab"},
					{2, "abc", "abc"},
				},
			},
			{
				Query: "select * from t where v1 > 'a' and v2 < 'abcde'",
				Expected: []sql.Row{
					{1, "ab", "ab"},
					{2, "abc", "abc"},
				},
			},
			{
				Query: "update t set v1 = concat(v1, 'z') where v1 >= 'a'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4, InsertID: 0, Info: plan.UpdateInfo{Matched: 4, Updated: 4}}},
				},
			},
			{
				Query: "select * from t",
				Expected: []sql.Row{
					{0, "az", "a"},
					{1, "abz", "ab"},
					{2, "abcz", "abc"},
					{3, "abcdez", "abcde"},
				},
			},
			{
				Query: "delete from t where v1 >= 'a'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4}},
				},
			},
			{
				Query:    "select * from t",
				Expected: []sql.Row{},
			},
		},
	},
	{
		Name: "inline secondary indexes keyless",
		SetUpScript: []string{
			"create table t (v1 varchar(10), v2 varchar(10), unique index (v1(3),v2(5)))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `v1` varchar(10),\n  `v2` varchar(10),\n  UNIQUE KEY `v1` (`v1`(3),`v2`(5))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:    "insert into t values ('a', 'a'), ('ab','ab'), ('abc', 'abc'), ('abcde', 'abcde')",
				Expected: []sql.Row{{types.NewOkResult(4)}},
			},
			{
				Query:       "insert into t values ('abc', 'abcde')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:       "insert into t values ('abc123', 'abcde123')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query: "select * from t where v1 = 'a'",
				Expected: []sql.Row{
					{"a", "a"},
				},
			},
			{
				Query: "select * from t where v1 = 'abc'",
				Expected: []sql.Row{
					{"abc", "abc"},
				},
			},
			{
				Query:    "select * from t where v1 = 'abcd'",
				Expected: []sql.Row{},
			},
			{
				Query: "select * from t where v1 > 'a' and v1 < 'abcde'",
				Expected: []sql.Row{
					{"ab", "ab"},
					{"abc", "abc"},
				},
			},
			{
				Query: "select * from t where v1 > 'a' and v2 < 'abcde'",
				Expected: []sql.Row{
					{"ab", "ab"},
					{"abc", "abc"},
				},
			},
			{
				Query: "update t set v1 = concat(v1, 'z') where v1 >= 'a'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4, InsertID: 0, Info: plan.UpdateInfo{Matched: 4, Updated: 4}}},
				},
			},
			{
				Query: "select * from t",
				Expected: []sql.Row{
					{"az", "a"},
					{"abz", "ab"},
					{"abcz", "abc"},
					{"abcdez", "abcde"},
				},
			},
			{
				Query: "delete from t where v1 >= 'a'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4}},
				},
			},
			{
				Query:    "select * from t",
				Expected: []sql.Row{},
			},
		},
	},
	// TODO (james): collations do not work for in-memory tables; this test is in dolt_queries.go
	{
		Name: "inline secondary indexes with collation",
		SetUpScript: []string{
			"create table t (i int primary key, v1 varchar(10), v2 varchar(10), unique index (v1(3),v2(5))) collate utf8mb4_0900_ai_ci",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `v1` varchar(10),\n  `v2` varchar(10),\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `v1` (`v1`(3),`v2`(5))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci"}},
			},
			{
				Query:    "insert into t values (0, 'a', 'a'), (1, 'ab','ab'), (2, 'abc', 'abc'), (3, 'abcde', 'abcde')",
				Expected: []sql.Row{{types.NewOkResult(4)}},
			},
			{
				Skip:        true,
				Query:       "insert into t values (99, 'ABC', 'ABCDE')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Skip:        true,
				Query:       "insert into t values (99, 'ABC123', 'ABCDE123')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Skip:  true,
				Query: "select * from t where v1 = 'A'",
				Expected: []sql.Row{
					{0, "a", "a"},
				},
			},
			{
				Skip:  true,
				Query: "select * from t where v1 = 'ABC'",
				Expected: []sql.Row{
					{2, "abc", "abc"},
				},
			},
			{
				Query:    "select * from t where v1 = 'ABCD'",
				Expected: []sql.Row{},
			},
			{
				Skip:  true,
				Query: "select * from t where v1 > 'A' and v1 < 'ABCDE'",
				Expected: []sql.Row{
					{1, "ab", "ab"},
				},
			},
			{
				Query: "select * from t where v1 > 'A' and v2 < 'ABCDE'",
				Expected: []sql.Row{
					{1, "ab", "ab"},
					{2, "abc", "abc"},
				},
			},
			{
				Skip:  true,
				Query: "update t set v1 = concat(v1, 'Z') where v1 >= 'A'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4, InsertID: 0, Info: plan.UpdateInfo{Matched: 4, Updated: 4}}},
				},
			},
			{
				Skip:  true,
				Query: "select * from t",
				Expected: []sql.Row{
					{0, "aZ", "a"},
					{1, "abZ", "ab"},
					{2, "abcZ", "abc"},
					{3, "abcdeZ", "abcde"},
				},
			},
			{
				Skip:  true,
				Query: "delete from t where v1 >= 'A'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4}},
				},
			},
			{
				Skip:     true,
				Query:    "select * from t",
				Expected: []sql.Row{},
			},
		},
	},
	{
		Name: "referenced secondary indexes",
		SetUpScript: []string{
			"create table t (i int primary key, v1 text, v2 text, unique index (v1(3),v2(5)))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "show create table t",
				Expected: []sql.Row{{"t", "CREATE TABLE `t` (\n  `i` int NOT NULL,\n  `v1` text,\n  `v2` text,\n  PRIMARY KEY (`i`),\n  UNIQUE KEY `v1` (`v1`(3),`v2`(5))\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:    "insert into t values (0, 'a', 'a'), (1, 'ab','ab'), (2, 'abc', 'abc'), (3, 'abcde', 'abcde')",
				Expected: []sql.Row{{types.NewOkResult(4)}},
			},
			{
				Query:       "insert into t values (99, 'abc', 'abcde')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:       "insert into t values (99, 'abc123', 'abcde123')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query: "select * from t where v1 = 'a'",
				Expected: []sql.Row{
					{0, "a", "a"},
				},
			},
			{
				Query: "select * from t where v1 = 'abc'",
				Expected: []sql.Row{
					{2, "abc", "abc"},
				},
			},
			{
				Query:    "select * from t where v1 = 'abcd'",
				Expected: []sql.Row{},
			},
			{
				Query: "select * from t where v1 > 'a' and v1 < 'abcde'",
				Expected: []sql.Row{
					{1, "ab", "ab"},
					{2, "abc", "abc"},
				},
			},
			{
				Query: "select * from t where v1 > 'a' and v2 < 'abcde'",
				Expected: []sql.Row{
					{1, "ab", "ab"},
					{2, "abc", "abc"},
				},
			},
			{
				Query: "update t set v1 = concat(v1, 'z') where v1 >= 'a'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4, InsertID: 0, Info: plan.UpdateInfo{Matched: 4, Updated: 4}}},
				},
			},
			{
				Query: "select * from t",
				Expected: []sql.Row{
					{0, "az", "a"},
					{1, "abz", "ab"},
					{2, "abcz", "abc"},
					{3, "abcdez", "abcde"},
				},
			},
			{
				Query: "delete from t where v1 >= 'a'",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 4}},
				},
			},
			{
				Query:    "select * from t",
				Expected: []sql.Row{},
			},
		},
	},
	{
		// https://github.com/dolthub/dolt/issues/7040
		Name: "unique indexes on TEXT/BLOB columns with no prefix length (MariaDB compatibility)",
		SetUpScript: []string{
			"create table t (pk int primary key, col1 text);",
			"create table j2 (pk int primary key, col1 varchar(100));",
			"insert into j2 values (1, '100'), (2, '  '), (3, '300');",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "select @@strict_mysql_compatibility;",
				Expected: []sql.Row{{0}},
			},
			{
				Query:    "alter table t add unique key k1(col1);",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "insert into t values (4, ''), (5, ' '), (8, NULL), (-1, '  ');",
				Expected: []sql.Row{{types.NewOkResult(4)}},
			},
			{
				Query:    "insert into t values (1, 'oneasdfasdf');",
				Expected: []sql.Row{{types.NewOkResult(1)}},
			},
			{
				Query:       "insert into t values (2, 'oneasdfasdf');",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				// Asserts that a subquery can correctly use the content-hashed index in a join. The index is valid here,
				// because it is used to filter on the equality condition in the top level filter, the filter in the
				// subquery is not done using the index.
				Query:              "select pk from t where col1='oneasdfasdf' and exists (select pk from j2 where j2.col1 <= t.col1);",
				Expected:           []sql.Row{{1}},
				CheckIndexedAccess: true,
				ExpectedIndexes:    []string{"k1"},
			},
			{
				// Skipped until Dolt's implementation can return this error message with the raw
				// content value, and not the hashed value.
				Skip:           true,
				Query:          "insert into t values (2, 'oneasdfasdf');",
				ExpectedErrStr: "duplicate unique key given: [oneasdfasdf]",
			},
			{
				Query:              "select col1 from t where col1='oneasdfasdf';",
				Expected:           []sql.Row{{"oneasdfasdf"}},
				CheckIndexedAccess: true,
				ExpectedIndexes:    []string{"k1"},
			},
			{
				// Indexes with content-hashed fields are not eligible for use with range scans
				Query:           "select * from t where col1 >= 'one';",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{1, "oneasdfasdf"}},
			},
			{
				// Indexes with a content-hashed BLOB/TEXT field cannot be used in range scans
				Query:           "select * from t where col1 >= ' ' order by pk;",
				ExpectedIndexes: []string{"primary"},
				Expected:        []sql.Row{{-1, "  "}, {1, "oneasdfasdf"}, {5, " "}},
			},
			{
				// Assert we can create the index without a prefix, inline in a table definition, too
				Query:    "create table t2 (pk int primary key, col1 BLOB, unique key k1(col1));",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				// Assert that we do NOT use the index for a join on a range condition
				Query:           "select distinct j2.pk from j2 join t on t.col1 >= 'one';",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{1}, {2}, {3}},
				JoinTypes:       []plan.JoinType{plan.JoinTypeInner},
			},
			{
				// Assert that we DO use the index for a join on an exact match condition
				Query:           "select /*+ LOOKUP_JOIN(t,j2) */ distinct j2.pk from j2 join t on t.col1 = ' ';",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{{1}, {2}, {3}},
				JoinTypes:       []plan.JoinType{plan.JoinTypeLookup},
			},

			{
				// Assert that we DO use the index for a lookup join on an exact match condition
				Query:           "select /*+ LOOKUP_JOIN(t,j2) */ distinct j2.pk from j2 join t on t.col1 = j2.col1;",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{{2}},
				JoinTypes:       []plan.JoinType{plan.JoinTypeLookup},
			},
			{
				// Assert that we do NOT use the index for a lookup join on a range condition
				Query:           "select /*+ LOOKUP_JOIN(t,j2) */ distinct j2.pk from j2 join t on t.col1 >= j2.col1;",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{1}, {2}, {3}},
				JoinTypes:       []plan.JoinType{plan.JoinTypeInner},
			},
			{
				// Assert that merge join is not available, since the index is not ordered (equality condition)
				Query:           "select /*+ MERGE_JOIN(t,j2) */ distinct j2.pk from j2 join t on t.col1 = j2.col1;",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{{2}},
				JoinTypes:       []plan.JoinType{plan.JoinTypeLookup},
			},
			{
				// Assert that merge join is not available, since the index is not ordered (range condition)
				Query:           "select /*+ MERGE_JOIN(t,j2) */ distinct j2.pk from j2 join t on t.col1 >= j2.col1;",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{1}, {2}, {3}},
				JoinTypes:       []plan.JoinType{plan.JoinTypeInner},
			},
			{
				// Assert that indexes with hash-encoded fields are not used for ordering
				Query:           "select t.col1 from t order by t.col1;",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{nil}, {""}, {" "}, {"  "}, {"oneasdfasdf"}},
			},
			{
				// Assert that filters that transform the column value are not eligible to use the secondary index
				Query:           "select col1 from t where concat(t.col1, ' ') = '  ';",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{" "}},
			},
			{
				// Assert that different types that have to be coerced don't cause issues
				Query:           "select col1 from t where t.col1 = POINT(42, 42);",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{},
			},
			{
				// Assert that index use is valid for not equals comparisons
				Query:           "select col1 from t where t.col1 != 'oneasdfasdf';",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{{""}, {" "}, {"  "}},
			},
			{
				// Assert that index use is valid for is not null filter expressions
				Query:           "select col1 from t where t.col1 is not null;",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{{""}, {" "}, {"  "}, {"oneasdfasdf"}},
			},
			{
				// Assert that index use is valid for null-safe comparisons
				Query:           "select col1 from t where t.col1 <=> 'oneasdfasdf';",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{{"oneasdfasdf"}},
			},
			{
				// Assert that index use is allowed for is null filter expressions
				Query:           "select col1 from t where t.col1 is NULL",
				ExpectedIndexes: []string{"k1"},
				Expected:        []sql.Row{{nil}},
			},
		},
	},
	{
		Name: "unique indexes on multiple TEXT/BLOB columns with partial prefix lengths (MariaDB compatibility)",
		SetUpScript: []string{
			"create table t (pk int primary key, col1 text, col2 text, constraint uk1 unique key(col1, col2(3)));",
			"insert into t value(1, 'one', 'one___'), (2, 'two', 'two___');",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "select @@strict_mysql_compatibility;",
				Expected: []sql.Row{{0}},
			},
			{
				Query:       "insert into t values (200, 'two', 'two___');",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
			{
				Query:              "select col1, col2 from t where col1='one';",
				Expected:           []sql.Row{{"one", "one___"}},
				CheckIndexedAccess: true,
				ExpectedIndexes:    []string{"uk1"},
			},
			{
				// Indexes with content-hashed fields are not eligible for use with range scans
				Query:           "select * from t where col1 >= 'one';",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{1, "one", "one___"}, {2, "two", "two___"}},
			},
			{
				// Indexes with content-hashed fields are not eligible for use with range scans
				Query:           "select * from t where col2 >= 'one';",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{1, "one", "one___"}, {2, "two", "two___"}},
			},
			{
				// Indexes with a content-hashed BLOB/TEXT field cannot be used in range scans
				Query:           "select count(*) from t where col1 >= ' ';",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{2}},
			},
			{
				// Indexes with a content-hashed BLOB/TEXT field cannot be used in range scans
				Query:           "select count(*) from t where col2 >= ' ';",
				ExpectedIndexes: []string{},
				Expected:        []sql.Row{{2}},
			},
			{
				// Indexes with a content-hashed BLOB/TEXT field cannot be used in ordered range scans
				Query:           "select * from t where col1 >= ' ' order by pk;",
				ExpectedIndexes: []string{"primary"},
				Expected:        []sql.Row{{1, "one", "one___"}, {2, "two", "two___"}},
			},
			{
				// Indexes with a content-hashed BLOB/TEXT field cannot be used in ordered range scans
				Query:           "select * from t where col2 >= ' ' order by pk;",
				ExpectedIndexes: []string{"primary"},
				Expected:        []sql.Row{{1, "one", "one___"}, {2, "two", "two___"}},
			},
		},
	},
	{
		Name: "case-insensitive collations are restricted for unique indexes on TEXT columns with no prefix length",
		Assertions: []ScriptTestAssertion{
			{
				// Assert we can create the index without a prefix, inline in a table definition, too
				Query:       "create table t1 (pk int primary key, col1 TEXT collate utf8mb3_general_ci, unique key k1(col1));",
				ExpectedErr: sql.ErrCollationNotSupportedOnUniqueTextIndex,
			},
			{
				// Assert we can create the index without a prefix, inline in a table definition, too
				Query:    "create table t2 (pk int primary key, col1 TEXT collate utf8mb3_general_ci);",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				// Assert we can create the index without a prefix, inline in a table definition, too
				Query:       "alter table t2 add unique key k1(col1);",
				ExpectedErr: sql.ErrCollationNotSupportedOnUniqueTextIndex,
			},
		},
	},
	{
		// https://github.com/dolthub/dolt/issues/7040
		Name: "unique indexes on TEXT/BLOB columns with no prefix length (strict MySQL compatibility)",
		SetUpScript: []string{
			"create table t (pk int primary key, col1 text);",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "set @@strict_mysql_compatibility = true;",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "select @@strict_mysql_compatibility;",
				Expected: []sql.Row{{1}},
			},
			{
				Query:          "alter table t add unique key k1(col1);",
				ExpectedErrStr: "blob/text column 'col1' used in key specification without a key length",
			},
			{
				Query:          "create table t2 (pk int primary key, col1 BLOB, unique key k1(col1));",
				ExpectedErrStr: "blob/text column 'col1' used in key specification without a key length",
			},
		},
	},
	{
		Name:        "test prefix limits",
		SetUpScript: []string{},
		Assertions: []ScriptTestAssertion{
			{
				Query:    "create table varchar_limit(c varchar(10000), index (c(768)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "create table text_limit(c text, index (c(768)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "create table varbinary_limit(c varbinary(10000), index (c(3072)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:    "create table blob_limit(c blob, index (c(3072)))",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:       "create table bad(c varchar(10000), index (c(769)))",
				ExpectedErr: sql.ErrKeyTooLong,
			},
			{
				Query:       "create table bad(c text, index (c(769)))",
				ExpectedErr: sql.ErrKeyTooLong,
			},
			{
				Query:       "create table bad(c varbinary(10000), index (c(3073)))",
				ExpectedErr: sql.ErrKeyTooLong,
			},
			{
				Query:       "create table bad(c blob, index (c(3073)))",
				ExpectedErr: sql.ErrKeyTooLong,
			},
		},
	},
	{
		Name: "multiple nullable index prefixes",
		SetUpScript: []string{
			"create table test(pk int primary key, shared1 int, shared2 int, a3 int, a4 int, b3 int, b4 int, unique key a_idx(shared1, shared2, a3, a4), unique key b_idx(shared1, shared2, b3, b4))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"a_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and b3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
		},
	},
	{
		Name: "multiple non-unique index prefixes",
		SetUpScript: []string{
			"create table test(pk int primary key, shared1 int not null, shared2 int not null, a3 int not null, a4 int not null, b3 int not null, b4 int not null, key a_idx(shared1, shared2, a3, a4), key b_idx(shared1, shared2, b3, b4))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"a_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a3 > 3 and a3 < 5;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"a_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and b3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and b3 > 3 and b3 < 5;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
		},
	},
	{
		Name: "multiple non-unique nullable index prefixes",
		SetUpScript: []string{
			"create table test(pk int primary key, shared1 int, shared2 int, a3 int, a4 int, b3 int, b4 int, key a_idx(shared1, shared2, a3, a4), key b_idx(shared1, shared2, b3, b4))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"a_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a3 > 3 and a3 < 5;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"a_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and b3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and b3 > 3 and b3 < 5;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
		},
	},
	{
		Name: "unique and non-unique nullable index prefixes",
		SetUpScript: []string{
			"create table test(pk int primary key, shared1 int, shared2 int, a3 int, a4 int, b3 int, b4 int, unique key a_idx(shared1, shared2, a3, a4), key b_idx(shared1, shared2, b3, b4))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"a_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a3 > 3 and a3 < 5;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"a_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and b3 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and b3 > 3 and b3 < 5;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
		},
	},
	{
		Name: "avoid picking an index simply because it matches more filters if those filters are not in the prefix.",
		SetUpScript: []string{
			"create table test(pk int primary key, shared1 int, shared2 int, a3 int, a4 int, b3 int, b4 int, unique key a_idx(shared1, a3, a4, shared2), key b_idx(shared1, shared2, b3, b4))",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:           "select * from test where shared1 = 1 and shared2 = 2 and a4 = 3;",
				Expected:        []sql.Row{},
				ExpectedIndexes: []string{"b_idx"},
			},
		},
	},
}

var IndexQueries = []ScriptTest{
	{
		Name: "unique key violation prevents insert",
		SetUpScript: []string{
			"create table users (id varchar(26) primary key, namespace varchar(50), name varchar(50));",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query: "create unique index namespace__name on users (namespace, name)",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 0}},
				},
			},
			{
				Query: "show create table users",
				Expected: []sql.Row{
					{"users", "CREATE TABLE `users` (\n  `id` varchar(26) NOT NULL,\n  `namespace` varchar(50),\n  `name` varchar(50),\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `namespace__name` (`namespace`,`name`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"},
				},
			},
			{
				Query: "insert into users values ('user1', 'namespace1', 'name1')",
				Expected: []sql.Row{
					{types.OkResult{RowsAffected: 1}},
				},
			},
			{
				Query:       "insert into users values ('user2', 'namespace1', 'name1')",
				ExpectedErr: sql.ErrUniqueKeyViolation,
			},
		},
	},
	{
		Name: "unique key duplicate key update",
		SetUpScript: []string{
			"CREATE TABLE auniquetable (pk int primary key, uk int unique key, i int);",
			"INSERT INTO auniquetable VALUES(0,0,0);",
			"INSERT INTO auniquetable (pk,uk) VALUES(1,0) on duplicate key update i = 99;",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query: "SELECT pk, uk, i from auniquetable",
				Expected: []sql.Row{
					{0, 0, 99},
				},
			},
		},
	},
	{
		// MySQL allows creating multiple indexes over the same set of columns. This isn't generally
		// useful, but some customers need this support. For example, generated migration code from
		// Django can create cases that require this: https://github.com/dolthub/dolt/issues/8254
		Name: "multiple indexes over same set of columns",
		SetUpScript: []string{
			"CREATE TABLE `t0` (`id` char(32) NOT NULL PRIMARY KEY, `col1` varchar(255) NOT NULL, `col2` varchar(255) NOT NULL);",
			"CREATE TABLE `t3` (`id` char(32) NOT NULL PRIMARY KEY, `col1` varchar(255) NOT NULL, `col2` varchar(255) NOT NULL);",
		},
		Assertions: []ScriptTestAssertion{
			// Add two indexes over the same column set to t0
			{
				Query:    "ALTER TABLE t0 ADD CONSTRAINT unique_1 UNIQUE(col1, col2);",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:                           "ALTER TABLE t0 ADD CONSTRAINT unique_2 UNIQUE(col1, col2);",
				Expected:                        []sql.Row{{types.NewOkResult(0)}},
				ExpectedWarningsCount:           1,
				ExpectedWarning:                 1831,
				ExpectedWarningMessageSubstring: "Duplicate index 'unique_2' defined on the table 'mydb.t0'",
			},
			{
				Query: "SELECT kc.`constraint_name`, kc.`column_name`, kc.`referenced_table_name`, kc.`referenced_column_name` FROM information_schema.key_column_usage AS kc WHERE kc.table_schema = DATABASE() AND kc.table_name = 't0' ORDER BY kc.`ordinal_position`;",
				Expected: []sql.Row{
					{"PRIMARY", "id", nil, nil},
					{"unique_1", "col1", nil, nil},
					{"unique_2", "col1", nil, nil},
					{"unique_1", "col2", nil, nil},
					{"unique_2", "col2", nil, nil},
				},
			},
			{
				Query:    "SHOW CREATE TABLE t0;",
				Expected: []sql.Row{{"t0", "CREATE TABLE `t0` (\n  `id` char(32) NOT NULL,\n  `col1` varchar(255) NOT NULL,\n  `col2` varchar(255) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `unique_1` (`col1`,`col2`),\n  UNIQUE KEY `unique_2` (`col1`,`col2`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			// Create a new table with two indexes over the same column set
			{
				Query:                           "CREATE TABLE `t2` (`id` char(32) NOT NULL PRIMARY KEY, `col1` varchar(255) NOT NULL, `col2` varchar(255) NOT NULL, UNIQUE KEY unique_1(col1, col2), UNIQUE KEY unique_2(col1, col2));",
				Expected:                        []sql.Row{{types.NewOkResult(0)}},
				ExpectedWarningsCount:           1,
				ExpectedWarning:                 1831,
				ExpectedWarningMessageSubstring: "Duplicate index 'unique_2' defined on the table 'mydb.t2'",
			},
			{
				Query: "SELECT kc.`constraint_name`, kc.`column_name`, kc.`referenced_table_name`, kc.`referenced_column_name` FROM information_schema.key_column_usage AS kc WHERE kc.table_schema = DATABASE() AND kc.table_name = 't2' ORDER BY kc.`ordinal_position`;",
				Expected: []sql.Row{
					{"PRIMARY", "id", nil, nil},
					{"unique_1", "col1", nil, nil},
					{"unique_2", "col1", nil, nil},
					{"unique_1", "col2", nil, nil},
					{"unique_2", "col2", nil, nil},
				},
			},
			{
				Query:    "SHOW CREATE TABLE t2;",
				Expected: []sql.Row{{"t2", "CREATE TABLE `t2` (\n  `id` char(32) NOT NULL,\n  `col1` varchar(255) NOT NULL,\n  `col2` varchar(255) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `unique_1` (`col1`,`col2`),\n  UNIQUE KEY `unique_2` (`col1`,`col2`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			{
				Query:                           "ALTER TABLE t2 ADD CONSTRAINT unique_3 UNIQUE(col1, col2);",
				Expected:                        []sql.Row{{types.NewOkResult(0)}},
				ExpectedWarningsCount:           1,
				ExpectedWarning:                 1831,
				ExpectedWarningMessageSubstring: "Duplicate index 'unique_3' defined on the table 'mydb.t2'",
			},
			{
				Query:    "SHOW CREATE TABLE t2;",
				Expected: []sql.Row{{"t2", "CREATE TABLE `t2` (\n  `id` char(32) NOT NULL,\n  `col1` varchar(255) NOT NULL,\n  `col2` varchar(255) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `unique_1` (`col1`,`col2`),\n  UNIQUE KEY `unique_2` (`col1`,`col2`),\n  UNIQUE KEY `unique_3` (`col1`,`col2`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
			// Add unnamed duplicate indexes
			{
				Query:    "ALTER TABLE t3 ADD CONSTRAINT UNIQUE(col1, col2);",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query:                           "ALTER TABLE t3 ADD CONSTRAINT UNIQUE(col1, col2);",
				Expected:                        []sql.Row{{types.NewOkResult(0)}},
				ExpectedWarningsCount:           1,
				ExpectedWarning:                 1831,
				ExpectedWarningMessageSubstring: "Duplicate index 'col1_2' defined on the table 'mydb.t3'",
			},
			{
				Query: "SELECT kc.`constraint_name`, kc.`column_name`, kc.`referenced_table_name`, kc.`referenced_column_name` FROM information_schema.key_column_usage AS kc WHERE kc.table_schema = DATABASE() AND kc.table_name = 't3' ORDER BY kc.`ordinal_position`;",
				Expected: []sql.Row{
					{"PRIMARY", "id", nil, nil},
					{"col1", "col1", nil, nil},
					{"col1_2", "col1", nil, nil},
					{"col1", "col2", nil, nil},
					{"col1_2", "col2", nil, nil},
				},
			},
			{
				Query:    "SHOW CREATE TABLE t3;",
				Expected: []sql.Row{{"t3", "CREATE TABLE `t3` (\n  `id` char(32) NOT NULL,\n  `col1` varchar(255) NOT NULL,\n  `col2` varchar(255) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `col1` (`col1`,`col2`),\n  UNIQUE KEY `col1_2` (`col1`,`col2`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"}},
			},
		},
	},
	{
		Name: "non-unique indexes on keyless tables",
		SetUpScript: []string{
			"create table t (i int, j int, index(i))",
			"insert into t values (0, 100), (0, 200), (1, 100), (1, 200), (2, 100), (2, 200)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query: "select i, j from t where i = 0 order by i, j",
				Expected: []sql.Row{
					{0, 100},
					{0, 200},
				},
			},
			{
				Query: "select i, j from t where i = 1 order by i, j",
				Expected: []sql.Row{
					{1, 100},
					{1, 200},
				},
			},
			{
				Query: "select i, j from t where i > 0 order by i, j",
				Expected: []sql.Row{
					{1, 100},
					{1, 200},
					{2, 100},
					{2, 200},
				},
			},
			{
				Query: "select i, j from t where i > 0 and i < 2 order by i, j",
				Expected: []sql.Row{
					{1, 100},
					{1, 200},
				},
			},
		},
	},
	{
		Name: "more non-unique indexes on keyless tables",
		SetUpScript: []string{
			"create table t (i int, j int, k int, index(i, j))",
			"insert into t values (0, 0, 123), (0, 1, 456), (1, 0, 123), (1, 1, 456), (2, 0, 123), (2, 1, 456)",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query: "select i, j, k from t where i = 0 order by i, j, k",
				Expected: []sql.Row{
					{0, 0, 123},
					{0, 1, 456},
				},
			},
			{
				Query: "select i, j, k from t where i = 0 and j = 0 order by i, j, k",
				Expected: []sql.Row{
					{0, 0, 123},
				},
			},
			{
				Query: "select i, j, k from t where i = 1 and (j = 0 or j = 1) order by i, j, k",
				Expected: []sql.Row{
					{1, 0, 123},
					{1, 1, 456},
				},
			},
			{
				Query: "select i, j, k from t where i > 0 and j > 0 order by i, j, k",
				Expected: []sql.Row{
					{1, 1, 456},
					{2, 1, 456},
				},
			},
			{
				Query: "select i, j, k from t where i > 0 and i < 2 order by i, j, k",
				Expected: []sql.Row{
					{1, 0, 123},
					{1, 1, 456},
				},
			},
		},
	},
	{
		Name: "secondary index errors",
		SetUpScript: []string{
			"create table json_tbl (pk int primary key, i int, j json);",
			"create table idx_tbl (pk int primary key, j int, index(j));",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "create index idx on json_tbl(j)",
				ExpectedErr: sql.ErrJSONIndex,
			},
			{
				Query:       "create index idx on json_tbl(i, j)",
				ExpectedErr: sql.ErrJSONIndex,
			},
			{
				Query:       "create index idx on json_tbl(j, i)",
				ExpectedErr: sql.ErrJSONIndex,
			},
			{
				Query:       "alter table idx_tbl modify column j json;",
				ExpectedErr: sql.ErrJSONIndex,
			},
			{
				Query:       "create table t1 (i int primary key, j json, index(j));",
				ExpectedErr: sql.ErrJSONIndex,
			},
			{
				Query:       "create table t2 (i int, j json, index(i, j));",
				ExpectedErr: sql.ErrJSONIndex,
			},
			{
				Query:       "create table t3 (i int, j json, index(j, i));",
				ExpectedErr: sql.ErrJSONIndex,
			},
			{
				// Ensure the above statements did not create tables without indexes
				Query: "show tables;",
				Expected: []sql.Row{
					{"json_tbl"},
					{"idx_tbl"},
				},
			},
		},
	},
	{
		Name: "indexes and if exists",
		SetUpScript: []string{
			"create table t (i int, j int);",
			"create index idx on t (i);",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query:       "create index idx on t(j)",
				ExpectedErr: sql.ErrDuplicateKey,
			},
			{
				Query: "create index if not exists idx on t(j)",
				Expected: []sql.Row{
					{types.NewOkResult(0)},
				},
			},
			{
				Query: "show create table t",
				Expected: []sql.Row{
					{"t", "CREATE TABLE `t` (\n" +
						"  `i` int,\n" +
						"  `j` int,\n" +
						"  KEY `idx` (`i`)\n" +
						") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"},
				},
			},
			{
				Query:       "alter table t add index idx (j)",
				ExpectedErr: sql.ErrDuplicateKey,
			},
			{
				Query: "alter table t add index if not exists idx (j)",
				Expected: []sql.Row{
					{types.NewOkResult(0)},
				},
			},
			{
				Query: "show create table t",
				Expected: []sql.Row{
					{"t", "CREATE TABLE `t` (\n" +
						"  `i` int,\n" +
						"  `j` int,\n" +
						"  KEY `idx` (`i`)\n" +
						") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin"},
				},
			},
			{
				Query:       "alter table t drop index notanidx",
				ExpectedErr: sql.ErrCantDropFieldOrKey,
			},
			{
				Query: "alter table t drop index if exists notanidx",
				Expected: []sql.Row{
					{types.NewOkResult(0)},
				},
			},
		},
	},
	{
		Name: "aggregates using indexes with false filter",
		SetUpScript: []string{
			"create table pk_tbl (i int primary key);",
			"create table unq_tbl (i int unique key);",
		},
		Assertions: []ScriptTestAssertion{
			{
				Query: "select count(*) from pk_tbl where (i = 0 and i = 1);",
				Expected: []sql.Row{
					{0},
				},
			},
			{
				Query: "select count(*) from unq_tbl where (i = 0 and i = 1);",
				Expected: []sql.Row{
					{0},
				},
			},
		},
	},
}
